anchor.diff:    }
   <% end %>
   
  -  public <%= message.name %>( <%= message.parameters.collect {|parameter| "#{annotated_type(parameter, :ee, :boundary, :final => true)} #{Domgen::Naming.camelize(parameter.name)}" }.join(", ") %> )
  +  public <%= message.name %>( <%= message.parameters.collect {|parameter| "#{annotated_type(parameter, :ee, :default, :final => true)} #{Domgen::Naming.camelize(parameter.name)}" }.join(", ") %> )
     {
   <% message.parameters.each do |parameter|
        null_protection = parameter.nullable? ? "#{Domgen::Naming.camelize(parameter.name)} == null ? null : " : ""
  
positive.code: 
      final <%= message.ee.name %> that = (<%= message.ee.name %>) o;
  <% message.parameters.select{|f|!f.collection?}.each do |parameter| -%>
      if ( <%= parameter.ee.primitive?(:boundary) ? "#{Domgen::Naming.camelize(parameter.name)} != that.#{Domgen::Naming.camelize(parameter.name)}" : "#{parameter.nullable? ? "null == #{Domgen::Naming.camelize(parameter.name)} ? null != that.#{Domgen::Naming.camelize(parameter.name)} : " : ''}!#{Domgen::Naming.camelize(parameter.name)}.equals( that.#{Domgen::Naming.camelize(parameter.name)} )" %> )
      {
        return false;
      }
  
negative.code:   {
      int result = 0;
  <% message.parameters.each do |parameter| -%>
      result = 31 * result + (<%= parameter.ee.primitive?(:default) ? (parameter.boolean? ? "#{Domgen::Naming.camelize(parameter.name)} ? 1 : 0": parameter.real? ? "Float.floatToIntBits(#{Domgen::Naming.camelize(parameter.name)})" : parameter.long? ? "(int)(#{Domgen::Naming.camelize(parameter.name)})" : Domgen::Naming.camelize(parameter.name)) : "#{parameter.nullable? ? "null == #{Domgen::Naming.camelize(parameter.name)} ? 0 : " : ''}#{Domgen::Naming.camelize(parameter.name)}.hashCode()" %>);
  <% end -%>
      return result;
    }
  