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