anchor.diff:          when field.date? || field.text? then "com.google.gwt.core.client.JsArrayString"
           when field.enumeration? && !field.enumeration.textual_values? then "com.google.gwt.core.client.JsArrayInteger"
           when field.enumeration? && field.enumeration.textual_values? then "com.google.gwt.core.client.JsArrayString"
  -        when field.integer? then "com.google.gwt.core.client.JsArrayInteger"
  -        when field.boolean? then "com.google.gwt.core.client.JsArrayBoolean"
  +        when field.integer? then 'com.google.gwt.core.client.JsArrayInteger'
  +        when field.boolean? then 'com.google.gwt.core.client.JsArrayBoolean'
           when field.struct? then "com.google.gwt.core.client.JsArray<#{field.referenced_struct.gwt.qualified_jso_name}>"
           else (Domgen.error("Unsupported field type #{field.name}"))
         end
  
positive.code:     final int size = source.length();
      for( int i = 0; i < size; i++ )
      {
        collection.add( <%= conversion_rule.call(field, "source.get( i )") %> );
      }
      return java.util.Collections.unmodifiable<%= field.collection_type == :set ? "Set" : "List" %>( collection );
  <% end %>
    }
  
  
negative.code: 
  <% struct.fields.select{|field| field.gwt?}.each do |field|
    if field.collection?
      collection_type_impl = field.collection_type == :set ? 'HashSet' : 'ArrayList'
      gwt_type_suffix =
        case
          when field.date? || field.text? then 'String'
          when field.enumeration? && !field.enumeration.textual_values? then 'Integer'
          when field.enumeration? && field.enumeration.textual_values? then 'String'
          when field.integer? then'Integer'
          when field.boolean? then'Boolean'
          when field.struct? then "<#{field.referenced_struct.gwt.qualified_jso_name}>"
          else (Domgen.error("Unsupported field type #{field.name}"))
        end
  