package replicant.messages;

import javax.annotation.Nonnull;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsType;

/**
 * The abstract message that messages conform to.
 */
@SuppressWarnings( "NullableProblems" )
@SuppressFBWarnings( "EI_EXPOSE_REP" )
@JsType( isNative = true, namespace = JsPackage.GLOBAL, name = "Object" )
public abstract class AbstractMessage
{
  @Nonnull
  String type;

  /**
   * Return the type of the message.
   *
   * @return the type of the message.
   */
  @Nonnull
  public String getType()
  {
    return type;
  }
}

@@ -55,16 +55,56 @@
 onnull;%0A
+import jsinterop.annotations.JsOverlay;%0A
 import j
@@ -556,22 +556,41 @@
 nnull%0A  
-public
+@JsOverlay%0A  public final
  String 

Make sure this class complies with JsType restrictions