anchor.diff:        { $parameterList=new ParameterList($LPAREN); }
         (
           ap1=parameterDeclaration 
  -        { $parameterList.addParameter($ap1.parameter); }
  +        { if ($ap1.parameter!=null)
  +              $parameterList.addParameter($ap1.parameter); }
           (
             COMMA 
             ap2=parameterDeclaration
  -          { $parameterList.addParameter($ap2.parameter); }
  +          { if ($ap2.parameter!=null)
  +              $parameterList.addParameter($ap2.parameter); }
           )*
         )? 
         RPAREN
  
positive.code:     : SMALLER_OP
        { $typeParameterList = new TypeParameterList($SMALLER_OP); }
        tp1=typeParameter
        { $typeParameterList.addTypeParameterDeclaration($tp1.typeParameter); }
        (
          COMMA 
          tp2=typeParameter
          { $typeParameterList.addTypeParameterDeclaration($tp2.typeParameter); }
        )*
        LARGER_OP
        { $typeParameterList.setEndToken($LARGER_OP); }
  
negative.code:     : SMALLER_OP
        { $typeArgumentList = new TypeArgumentList($SMALLER_OP); }
        ta1=typeArgument 
        { if ($ta1.type!=null)
              $typeArgumentList.addType($ta1.type); }
        (
          COMMA 
          ta2=typeArgument
          { if ($ta2.type!=null)
              $typeArgumentList.addType($ta2.type); }
        )* 
        LARGER_OP
        { $typeArgumentList.setEndToken($LARGER_OP); }
  