anchor.diff:  
   <% schema.object_types.select{|o|!o.abstract? && o.iris.generate? }.each do |object_type|
   %>
  -  private static java.util.Map<String, Object> process<%= object_type.name %>SyncData( final java.util.Map original, final java.util.Map newData, final boolean conflict )
  +  private static java.util.Map<String, Object> process<%= object_type.name %>SyncData( final <%= j_classname(object_type.java.classname) %> original, final java.util.Map newData, final boolean conflict )
     {
       final java.util.Map<String, Object> data = new java.util.HashMap<String, Object>();
   <% object_type.attributes.select{|a| !a.primary_key? && !a.iris.runtime_managed? && a.persistent? }.each do |attribute|
  
positive.code:   }
  <% end %>
  
  
    public static java.util.Map<String, Object> processSyncData( final Class<?> type, final java.util.Map original, final java.util.Map newData, final boolean conflict )
    {
      <% schema.object_types.select{|o|!o.abstract? && o.iris.generate? }.each do |object_type|
  %>if( <%= j_classname(object_type.java.classname) %>.class == type )
        {
          return process<%= object_type.name %>SyncData( original, newData, conflict );
        }
        else <% end %>
        {
  
negative.code: %>
        {
          Object value = newData.get( <%= j_classname(object_type.java.classname) %>.COLUMN_<%= uppercase_constantize(name) %> );
  <% if object_type.name == :PhysicalUnit && (attribute.name == :IsMemberOfPool)
  %>        if ( conflict )
          {
            value = original.get<%= attribute.referencing_link_name %>();
          }<%
     elsif object_type.name == :PhysicalUnit && (attribute.name == :Notes || attribute.name == :Status)
  %>        if ( conflict )
          {
            value = original.get<%= attribute.name %>();
          }<%
     end
  %>        data.put( <%= j_classname(object_type.java.classname) %>.COLUMN_<%= uppercase_constantize(name) %>, value );
        }
  <%
       end
  