anchor.diff:  // Service Declaration
   //---------------------------------------------------------
   
  -domainServiceDeclaration      : serviceVisibility SERVICE serviceName 
  +domainServiceDeclaration      
  +returns[String result]
  +@after {
  +    Matcher m = Pattern.compile( "public|private" ).matcher( $text );
  +    if ( !m.find() ) {
  +        $result = "public " + $text;    // if there is no public or private modifier, it is public
  +    }
  +    else {
  +        $result = $text;
  +    }
  +}
  +                              : serviceVisibility SERVICE serviceName 
                                     parameterList SEMI pragmaList                           
                                 ;
   
  -domainFunctionDeclaration     : serviceVisibility FUNCTION serviceName 
  +domainFunctionDeclaration     
  +returns[String result]
  +@after {
  +    Matcher m = Pattern.compile( "public|private" ).matcher( $text );
  +    if ( !m.find() ) {
  +        $result = "public " + $text;    // if there is no public or private modifier, it is public
  +    }
  +    else {
  +        $result = $text;
  +    }
  +}
  +                              : serviceVisibility FUNCTION serviceName 
                                     parameterList 
                                     RETURN returnType SEMI pragmaList                       
                                 ;
  
positive.code: @header
  {
  import java.util.Collections;
  }
  
  @members
  
negative.code: terminatorDefinitionEnd       : END TERMINATOR? SEMI pragmaList                           
                                ;
  
  terminatorServiceDeclaration  
  returns[String result]
  @after {
      Matcher m = Pattern.compile( "public|private" ).matcher( $text );
      if ( !m.find() ) {
          $result = "public " + $text;    // if there is no public or private modifier, it is public
      }
      else {
          $result = $text;
      }
  }
                                : serviceVisibility SERVICE serviceName 
                                    parameterList SEMI pragmaList                           
                                ;
  
  terminatorFunctionDeclaration 
  returns[String result]
  @after {
      Matcher m = Pattern.compile( "public|private" ).matcher( $text );
      if ( !m.find() ) {
          $result = "public " + $text;    // if there is no public or private modifier, it is public
      }
      else {
          $result = $text;
      }
  }
                                : serviceVisibility FUNCTION serviceName 
                                    parameterList RETURN returnType 
                                    SEMI pragmaList                                         
                                ;
  