diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/annotations/Immutable.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/annotations/Immutable.java
index 5de2171..6b0ba00 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/annotations/Immutable.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/annotations/Immutable.java
@@ -6,7 +6,7 @@
  * construction. Such a class can be freely shared between threads and does not
  * require defensive copying (don't call clone).
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 public @interface Immutable {
 
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/Match.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/Match.java
index 0efdcbb..67513b9 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/Match.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/protocol/match/Match.java
@@ -114,7 +114,7 @@
 
     /**
      * True if and only if this field is currently partially specified in the match, i.e, the
-     * match will only select packets that match (p.value & getMask(field)) == getValue(field),
+     * match will only select packets that match (p.value &amp; getMask(field)) == getValue(field),
      * and getMask(field) != 0.
      *
      * @param field Match field.
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/DatapathId.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/DatapathId.java
index 79fa14f..fe52fc3 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/DatapathId.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/DatapathId.java
@@ -11,7 +11,7 @@
  * Abstraction of a datapath ID that can be set and/or accessed as either a
  * long value or a colon-separated string. Immutable
  *
- * @author Rob Vaterlaus <rob.vaterlaus@bigswitch.com>
+ * @author Rob Vaterlaus {@literal <}rob.vaterlaus@bigswitch.com{@literal >}
  */
 @Immutable
 public class DatapathId implements PrimitiveSinkable, Comparable<DatapathId> {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/HashValue.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/HashValue.java
index 3030e3e..ee736d7 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/HashValue.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/HashValue.java
@@ -5,7 +5,7 @@
 /** a hash value that supports bit-wise combinations, mainly to calculate hash values for
  *  reconciliation operations.
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  *
  * @param <H> - this type, for return type safety.
  */
@@ -53,7 +53,7 @@
      *  operations on a hashv value without the associated cost of object
      *  reallocation.
      *
-     * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+     * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
      *
      * @param <H> - the hashvalue
      */
@@ -99,4 +99,4 @@
         /** @return the hash value */
         public H build();
     }
-}
\ No newline at end of file
+}
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java
index cee9ad1..ca2eb9f 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPAddress.java
@@ -41,22 +41,22 @@
     public abstract boolean isBroadcast();
 
     /**
-     * Perform a low level AND operation on the bits of two IPAddress<?> objects
-     * @param   other IPAddress<?>
-     * @return  new IPAddress<?> object after the AND oper
+     * Perform a low level AND operation on the bits of two IPAddress<> objects
+     * @param   other IPAddress
+     * @return  new IPAddress object after the AND oper
      */
     public abstract F and(F other);
 
     /**
-     * Perform a low level OR operation on the bits of two IPAddress<?> objects
-     * @param   other IPAddress<?>
-     * @return  new IPAddress<?> object after the AND oper
+     * Perform a low level OR operation on the bits of two IPAddress<> objects
+     * @param   other IPAddress
+     * @return  new IPAddress object after the AND oper
      */
     public abstract F or(F other);
 
     /**
      * Returns a new IPAddress object with the bits inverted
-     * @return  IPAddress<?>
+     * @return  IPAddress
      */
     public abstract F not();
 
@@ -79,13 +79,14 @@
      * @param cidrMaskLength  the prefix length of the CIDR subnet mask
      *                        (i.e. the number of leading one-bits),
      *                        where <code>
-     *                        0 <= cidrMaskLength <= (F.getLength() * 8)
+     *                        0 {@literal <=} cidrMaskLength {@literal <=} (F.getLength() * 8)
      *                        </code>
      * @return                an {@code IPAddressWithMask<F>} object that
      *                        represents this IP address masked by the CIDR
      *                        subnet mask of the given prefix length
      * @throws IllegalArgumentException  if the given prefix length was invalid
-     * @see #ofCidrMaskLength(int)
+     * @see org.projectfloodlight.openflow.types.IPv4Address#ofCidrMaskLength(int)
+     * @see org.projectfloodlight.openflow.types.IPv6Address#ofCidrMaskLength(int)
      */
     @Nonnull
     public abstract IPAddressWithMask<F> withMaskOfLength(
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java
index eb37a20..1530629 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4Address.java
@@ -19,7 +19,7 @@
 /**
  * Wrapper around an IPv4Address address
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 public class IPv4Address extends IPAddress<IPv4Address> implements Writeable {
     static final int LENGTH = 4;
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4AddressWithMask.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4AddressWithMask.java
index b6dc1b9..3bd7a5c 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4AddressWithMask.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv4AddressWithMask.java
@@ -31,7 +31,7 @@
      *                  the given raw IP address masked by the given raw IP
      *                  address mask
      * @deprecated      replaced by {@link IPv4Address#of(int)} and
-     *                  {@link IPv4Address#withMask(IPv4Address), e.g. <code>
+     *                  {@link IPv4Address#withMask(IPv4Address)}, e.g. <code>
      *                  IPv4Address.of(int).withMask(IPv4Address.of(int))
      *                  </code>
      */
@@ -68,7 +68,7 @@
      * the given string in CIDR notation or other acceptable notations.
      * <p>
      * The following notations are accepted.
-     * <table><tr>
+     * <table summary=""><tr>
      * <th>Notation</th><th>Example</th><th>Notes</th>
      * </tr><tr>
      * <td>IPv4 address only</td><td>{@code 1.2.3.4}</td><td>The subnet mask of
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java
index 3ab6767..4660fc5 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/IPv6Address.java
@@ -21,7 +21,7 @@
  * IPv6 address object. Instance controlled, immutable. Internal representation:
  * two 64 bit longs (not that you'd have to know).
  *
- * @author Andreas Wundsam <andreas.wundsam@teleteach.de>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@teleteach.de{@literal >}
  */
 public class IPv6Address extends IPAddress<IPv6Address> implements Writeable {
     static final int LENGTH = 16;
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
index d7f044e..89debf0 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/MacAddress.java
@@ -14,7 +14,7 @@
 /**
  * Wrapper around a 6 byte mac address.
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 
 public class MacAddress implements OFValueType<MacAddress> {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFBufferId.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFBufferId.java
index 7f76b4d..78261dc 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFBufferId.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFBufferId.java
@@ -8,7 +8,7 @@
 /**
  * Abstraction of a buffer id in OpenFlow. Immutable.
  *
- * @author Rob Vaterlaus <rob.vaterlaus@bigswitch.com>
+ * @author Rob Vaterlaus {@literal <}rob.vaterlaus@bigswitch.com{@literal >}
  */
 @Immutable
 public class OFBufferId implements Comparable<OFBufferId>, PrimitiveSinkable {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFErrorCauseData.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFErrorCauseData.java
index 824b809..1e71b3c 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFErrorCauseData.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFErrorCauseData.java
@@ -24,7 +24,7 @@
  *  This attempts to parse the offending message on demand, and if successful
  *  will present the parsed message.
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 public class OFErrorCauseData implements Writeable, PrimitiveSinkable {
     private static final Logger logger =
@@ -124,4 +124,4 @@
        return true;
    }
 
-}
\ No newline at end of file
+}
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFGroup.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFGroup.java
index b05d5fa..32e9bcc 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFGroup.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFGroup.java
@@ -11,7 +11,7 @@
  * Abstraction of an logical / OpenFlow group (ofp_group) in OpenFlow.
  * Immutable.
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 @Immutable
 public class OFGroup implements OFValueType<OFGroup> {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPort.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPort.java
index d96942f..f2b1e9a 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPort.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPort.java
@@ -15,7 +15,7 @@
  * called. If this port is not representable in OpenFlow 1.0, an
  * IllegalStateException is raised.
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 @Immutable
 public class OFPort implements OFValueType<OFPort> {
@@ -445,7 +445,7 @@
 
     /**
      * return the port number as int16. Special ports as defined by the OpenFlow
-     * spec will be converted to their OpenFlow 1.0 equivalent. port numbers >=
+     * spec will be converted to their OpenFlow 1.0 equivalent. port numbers {@literal >=}
      * FF00 will cause a IllegalArgumentException to be thrown
      *
      * @throws IllegalArgumentException
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPortBitMap.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPortBitMap.java
index 63b97f3..1d658c5 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPortBitMap.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFPortBitMap.java
@@ -37,7 +37,7 @@
  *  matchBuilder.setMasked(MatchField.BSN_IN_PORTS_128, portBitmap);
  *  </pre>
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 @Immutable
 public class OFPortBitMap extends Masked<OFBitMask128> {
@@ -47,7 +47,7 @@
     }
 
     /** @return whether or not the given port is logically included in the
-     *  match, i.e., whether a packet from in-port <emph>port</emph> be matched by
+     *  match, i.e., whether a packet from in-port <em>port</em> be matched by
      *  this OXM.
      */
     public boolean isOn(OFPort port) {
@@ -71,7 +71,7 @@
     }
 
     /** @return iterating over all ports that are logically included in the
-     *  match, i.e., whether a packet from in-port <emph>port</emph> be matched by
+     *  match, i.e., whether a packet from in-port <em>port</em> be matched by
      *  this OXM.
      */
     public Iterable<OFPort> getOnPorts() {
@@ -105,7 +105,7 @@
         }
 
         /** @return whether or not the given port is logically included in the
-         *  match, i.e., whether a packet from in-port <emph>port</emph> be matched by
+         *  match, i.e., whether a packet from in-port <em>port</em> be matched by
          *  this OXM.
          */
         public boolean isOn(OFPort port) {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java
index 0a35926..91c9fc8 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/OFVlanVidMatch.java
@@ -21,7 +21,7 @@
  *  </b>
  *
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  *
  */
 public class OFVlanVidMatch implements OFValueType<OFVlanVidMatch> {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java
index ee605de..1c3eba4 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/types/VlanVid.java
@@ -10,7 +10,7 @@
 
 /** Represents an 802.1Q Vlan VID (12 bits).
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  *
  */
 public class VlanVid implements OFValueType<VlanVid> {
diff --git a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/util/PrimitiveSinkUtils.java b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/util/PrimitiveSinkUtils.java
index 28eb3a4..aafe262 100644
--- a/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/util/PrimitiveSinkUtils.java
+++ b/java_gen/pre-written/src/main/java/org/projectfloodlight/openflow/util/PrimitiveSinkUtils.java
@@ -11,7 +11,7 @@
 
 /** Utility methods for dumping collections into primitive sinks.
  *
- * @author Andreas Wundsam <andreas.wundsam@bigswitch.com>
+ * @author Andreas Wundsam {@literal <}andreas.wundsam@bigswitch.com{@literal >}
  */
 public class PrimitiveSinkUtils {
     private PrimitiveSinkUtils() {}
@@ -21,7 +21,7 @@
      *
      *
      * @param sink the sink to put the object
-     * @param nullableObj the potentially null string to put in the sink
+     * @param nullableChars the potentially null string to put in the sink
      */
     public static void putNullableStringTo(PrimitiveSink sink,
             @Nullable CharSequence nullableChars) {
diff --git a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFPortDescTest.java b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFPortDescTest.java
index 965e314..530f66b 100644
--- a/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFPortDescTest.java
+++ b/java_gen/pre-written/src/test/java/org/projectfloodlight/protocol/OFPortDescTest.java
@@ -18,7 +18,7 @@
 /**
  * Tests auxiliary OFPortDesc methods for all versions of OpenFlow
  *
- * @author Jason Parraga <jason.parraga@bigswitch.com>
+ * @author Jason Parraga {@literal <}jason.parraga@bigswitch.com{@literal >}
  */
 public class OFPortDescTest {
 
