Program: 177196
Project: 177196
Buggy source:
public RESTMethod(MethodDeclaration delegate,RESTEndpoint endpoint){
  super(delegate);
  RESTParameter properNoun=null;
  RESTParameter nounValue=null;
  this.adjectives=new ArrayList<RESTParameter>();
  int parameterPosition=0;
  for (  ParameterDeclaration parameterDeclaration : getParameters()) {
    RESTParameter restParameter=new RESTParameter(parameterDeclaration,parameterPosition++);
    if (restParameter.isProperNoun()) {
      if (properNoun != null) {
        throw new ValidationException(properNoun.getPosition(),"String_Node_Str" + restParameter.getPosition());
      }
      properNoun=restParameter;
    }
 else     if (restParameter.isNounValue()) {
      if (nounValue != null) {
        throw new ValidationException(nounValue.getPosition(),"String_Node_Str" + restParameter.getPosition());
      }
      nounValue=restParameter;
    }
 else {
      adjectives.add(restParameter);
    }
  }
  this.nounValue=nounValue;
  this.properNoun=properNoun;
  this.RESTErrors=new ArrayList<RESTError>();
  for (  ReferenceType referenceType : getThrownTypes()) {
    ClassDeclaration throwableDeclaration=((ClassType)referenceType).getDeclaration();
    this.RESTErrors.add(new RESTError(throwableDeclaration));
  }
  String noun=getSimpleName();
  Noun nounInfo=getAnnotation(Noun.class);
  if ((nounInfo != null) && (!"String_Node_Str".equals(nounInfo.value()))) {
    noun=nounInfo.value();
  }
  String nounContext="String_Node_Str";
  NounContext nounContextInfo=endpoint.getAnnotation(NounContext.class);
  if (nounContextInfo != null) {
    nounContext=nounContextInfo.value();
  }
  if ((nounInfo != null) && (!"String_Node_Str".equals(nounInfo.context()))) {
    nounContext=nounInfo.value();
  }
  this.noun=new RESTNoun(noun,nounContext);
}

Fixed version (ground truth):
public RESTMethod(MethodDeclaration delegate,RESTEndpoint endpoint){
  super(delegate);
  RESTParameter properNoun=null;
  RESTParameter nounValue=null;
  this.adjectives=new ArrayList<RESTParameter>();
  int parameterPosition=0;
  for (  ParameterDeclaration parameterDeclaration : getParameters()) {
    RESTParameter restParameter=new RESTParameter(parameterDeclaration,parameterPosition++);
    if (restParameter.isProperNoun()) {
      if (properNoun != null) {
        throw new ValidationException(properNoun.getPosition(),"String_Node_Str" + restParameter.getPosition());
      }
      properNoun=restParameter;
    }
 else     if (restParameter.isNounValue()) {
      if (nounValue != null) {
        throw new ValidationException(nounValue.getPosition(),"String_Node_Str" + restParameter.getPosition());
      }
      nounValue=restParameter;
    }
 else {
      adjectives.add(restParameter);
    }
  }
  this.nounValue=nounValue;
  this.properNoun=properNoun;
  this.RESTErrors=new ArrayList<RESTError>();
  for (  ReferenceType referenceType : getThrownTypes()) {
    ClassDeclaration throwableDeclaration=((ClassType)referenceType).getDeclaration();
    this.RESTErrors.add(new RESTError(throwableDeclaration));
  }
  String noun=getSimpleName();
  Noun nounInfo=getAnnotation(Noun.class);
  if ((nounInfo != null) && (!"String_Node_Str".equals(nounInfo.value()))) {
    noun=nounInfo.value();
  }
  String nounContext="String_Node_Str";
  NounContext nounContextInfo=endpoint.getAnnotation(NounContext.class);
  if (nounContextInfo != null) {
    nounContext=nounContextInfo.value();
  }
  if ((nounInfo != null) && (!"String_Node_Str".equals(nounInfo.context()))) {
    nounContext=nounInfo.context();
  }
  this.noun=new RESTNoun(noun,nounContext);
}