nus-yam/ex-repair huggingface dataset:
Program: 112344
Project: 112344
Buggy source:
@Override public Object invoke(Object theProxy,Method theMethod,Object[] theArgs) throws Throwable {
  Object directRetVal=myMethodToReturnValue.get(theMethod);
  if (directRetVal != null) {
    return directRetVal;
  }
  BaseMethodBinding binding=myBindings.get(theMethod);
  if (binding != null) {
    BaseClientInvocation clientInvocation=binding.invokeClient(theArgs);
    return invokeClient(binding,clientInvocation);
  }
  ILambda lambda=myMethodToLambda.get(theMethod);
  if (lambda != null) {
    return lambda.handle(theArgs);
  }
  throw new UnsupportedOperationException("String_Node_Str" + theMethod.getName() + "String_Node_Str"+ theMethod.getDeclaringClass().getSimpleName()+ "String_Node_Str");
}

Fixed version (ground truth):
@Override public Object invoke(Object theProxy,Method theMethod,Object[] theArgs) throws Throwable {
  Object directRetVal=myMethodToReturnValue.get(theMethod);
  if (directRetVal != null) {
    return directRetVal;
  }
  BaseMethodBinding<?> binding=myBindings.get(theMethod);
  if (binding != null) {
    BaseClientInvocation clientInvocation=binding.invokeClient(theArgs);
    return invokeClient(binding,clientInvocation);
  }
  ILambda lambda=myMethodToLambda.get(theMethod);
  if (lambda != null) {
    return lambda.handle(theArgs);
  }
  throw new UnsupportedOperationException("String_Node_Str" + theMethod.getName() + "String_Node_Str"+ theMethod.getDeclaringClass().getSimpleName()+ "String_Node_Str");
}
Program: 112345
Project: 112345
Buggy source:
public void addBinding(Method theMethod,BaseMethodBinding theBinding){
  myBindings.put(theMethod,theBinding);
}

Fixed version (ground truth):
public void addBinding(Method theMethod,BaseMethodBinding<?> theBinding){
  myBindings.put(theMethod,theBinding);
}
Program: 112347
Project: 112347
Buggy source:
public RestfulServerTesterServlet(){
  myStaticResources=new HashMap<String,String>();
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myCtx=new FhirContext();
}

Fixed version (ground truth):
public RestfulServerTesterServlet(){
  myStaticResources=new HashMap<String,String>();
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myStaticResources.put("String_Node_Str","String_Node_Str");
  myCtx=new FhirContext();
}
Program: 112348
Project: 112348
Buggy source:
@Override protected void doGet(HttpServletRequest theReq,HttpServletResponse theResp) throws ServletException, IOException {
  if (DEBUGMODE) {
    myTemplateEngine.getCacheManager().clearAllCaches();
  }
  try {
    ourLog.info("String_Node_Str",theReq.getPathInfo());
    String resName=theReq.getPathInfo().substring(1);
    if (myStaticResources.containsKey(resName)) {
      streamResponse(resName,myStaticResources.get(resName),theResp);
      return;
    }
    ConformanceClient client=myCtx.newRestfulClient(ConformanceClient.class,myServerBase);
    Conformance conformance=client.getConformance();
    WebContext ctx=new WebContext(theReq,theResp,theReq.getServletContext(),theReq.getLocale());
    ctx.setVariable("String_Node_Str",conformance);
    ctx.setVariable("String_Node_Str",myServerBase);
    ctx.setVariable("String_Node_Str",myCtx.newJsonParser().encodeResourceToString(conformance));
    myTemplateEngine.process(theReq.getPathInfo(),ctx,theResp.getWriter());
  }
 catch (  Exception e) {
    ourLog.error("String_Node_Str",e);
    theResp.sendError(500,e.getMessage());
  }
}

Fixed version (ground truth):
@Override protected void doGet(HttpServletRequest theReq,HttpServletResponse theResp) throws ServletException, IOException {
  if (DEBUGMODE) {
    myTemplateEngine.getCacheManager().clearAllCaches();
  }
  try {
    ourLog.info("String_Node_Str",theReq.getPathInfo());
    String resName=theReq.getPathInfo().substring(1);
    if (myStaticResources.containsKey(resName)) {
      streamResponse(resName,myStaticResources.get(resName),theResp);
      return;
    }
    ConformanceClient client=myCtx.newRestfulClient(ConformanceClient.class,myServerBase);
    Conformance conformance=client.getConformance();
    WebContext ctx=new WebContext(theReq,theResp,theReq.getServletContext(),theReq.getLocale());
    ctx.setVariable("String_Node_Str",conformance);
    ctx.setVariable("String_Node_Str",myServerBase);
    ctx.setVariable("String_Node_Str",myCtx.newJsonParser().encodeResourceToString(conformance));
    theResp.setContentType("String_Node_Str");
    theResp.setCharacterEncoding("String_Node_Str");
    myTemplateEngine.process(theReq.getPathInfo(),ctx,theResp.getWriter());
  }
 catch (  Exception e) {
    ourLog.error("String_Node_Str",e);
    theResp.sendError(500,e.getMessage());
  }
}
Program: 112349
Project: 112349
Buggy source:
IParser setPrettyPrint(boolean thePrettyPrint);

Fixed version (ground truth):
/** 
 * Sets the "pretty print" flag, meaning that the parser will encode resources with human-readable spacing and newlines between elements instead of condensing output as much as possible.
 * @param thePrettyPrint The flag
 * @return Returns an instance of <code>this</code> parser so that methodcalls can be conveniently chained
 */
IParser setPrettyPrint(boolean thePrettyPrint);
Program: 112350
Project: 112350
Buggy source:
String encodeBundleToString(Bundle theBundle) throws DataFormatException, IOException ;

Fixed version (ground truth):
String encodeBundleToString(Bundle theBundle) throws DataFormatException ;
Program: 112351
Project: 112351
Buggy source:
String encodeResourceToString(IResource theResource) throws DataFormatException, IOException ;

Fixed version (ground truth):
String encodeResourceToString(IResource theResource) throws DataFormatException ;
Program: 112352
Project: 112352
Buggy source:
public OperationOutcome getOperationOutcome(){
  return myOperationOutcome;
}

Fixed version (ground truth):
/** 
 * Returns the   {@link OperationOutcome} resource to return to the client or<code>null</code> if none.
 * @return This method <b>will return null</b>, unlike many methods in theAPI.
 */
public OperationOutcome getOperationOutcome(){
  return myOperationOutcome;
}
Program: 112353
Project: 112353
Buggy source:
public void setOperationOutcome(OperationOutcome theOperationOutcome){
  myOperationOutcome=theOperationOutcome;
}

Fixed version (ground truth):
/** 
 * Sets the   {@link OperationOutcome} resource to return to the client. Setto <code>null</code> (which is the default) if none.
 */
public void setOperationOutcome(OperationOutcome theOperationOutcome){
  myOperationOutcome=theOperationOutcome;
}
Program: 112355
Project: 112355
Buggy source:
private void streamResponseAsBundle(HttpServletResponse theHttpResponse,List<IResource> theResult,EncodingUtil theResponseEncoding) throws IOException {
  theHttpResponse.setStatus(200);
  theHttpResponse.setContentType(theResponseEncoding.getBundleContentType());
  theHttpResponse.setCharacterEncoding("String_Node_Str");
  Bundle bundle=new Bundle();
  bundle.getAuthorName().setValue(getClass().getCanonicalName());
  bundle.getId().setValue(UUID.randomUUID().toString());
  bundle.getPublished().setToCurrentTimeInLocalTimeZone();
  for (  IResource next : theResult) {
    BundleEntry entry=new BundleEntry();
    bundle.getEntries().add(entry);
    entry.setResource(next);
  }
  bundle.getTotalResults().setValue(theResult.size());
  PrintWriter writer=theHttpResponse.getWriter();
  getNewParser(theResponseEncoding).encodeBundleToWriter(bundle,writer);
  writer.close();
}

Fixed version (ground truth):
private void streamResponseAsBundle(HttpServletResponse theHttpResponse,List<IResource> theResult,EncodingUtil theResponseEncoding) throws IOException {
  theHttpResponse.setStatus(200);
  theHttpResponse.setContentType(theResponseEncoding.getBundleContentType());
  theHttpResponse.setCharacterEncoding("String_Node_Str");
  Bundle bundle=new Bundle();
  bundle.getAuthorName().setValue(getClass().getCanonicalName());
  bundle.getBundleId().setValue(UUID.randomUUID().toString());
  bundle.getPublished().setToCurrentTimeInLocalTimeZone();
  for (  IResource next : theResult) {
    BundleEntry entry=new BundleEntry();
    bundle.getEntries().add(entry);
    entry.setResource(next);
  }
  bundle.getTotalResults().setValue(theResult.size());
  PrintWriter writer=theHttpResponse.getWriter();
  getNewParser(theResponseEncoding).encodeBundleToWriter(bundle,writer);
  writer.close();
}
Program: 112357
Project: 112357
Buggy source:
public ModelScanner(Class<ResourceWithExtensionsA> theClass){
}

Fixed version (ground truth):
ModelScanner(Collection<Class<? extends IResource>> theResourceTypes) throws ConfigurationException {
  init(new HashSet<Class<? extends IElement>>(theResourceTypes));
}
Program: 112358
Project: 112358
Buggy source:
@Override public RuntimeResourceBlockDefinition getChildByName(String theName){
  if (!getElementName().equals(theName)) {
    return myElementDef;
  }
 else {
    return null;
  }
}

Fixed version (ground truth):
@Override public RuntimeResourceBlockDefinition getChildByName(String theName){
  if (getElementName().equals(theName)) {
    return myElementDef;
  }
 else {
    return null;
  }
}
Program: 112359
Project: 112359
Buggy source:
/** 
 * Sets the value(s) for country (Country (can be ISO 3166 3 letter code)) <p> <b>Definition:</b> Country - a nation as commonly understood or generally accepted </p> 
 */
public void setCountry(StringDt theValue){
  myCountry=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>country</b> (Country (can be ISO 3166 3 letter code)) <p> <b>Definition:</b> Country - a nation as commonly understood or generally accepted </p> 
 */
public void setCountry(String theString){
  myCountry=new StringDt(theString);
}
Program: 112360
Project: 112360
Buggy source:
/** 
 * Gets the value(s) for zip (Postal code for area) <p> <b>Definition:</b> A postal code designating a region defined by the postal service. </p> 
 */
public StringDt getZip(){
  return myZip;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>zip</b> (Postal code for area). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> A postal code designating a region defined by the postal service. </p> 
 */
public StringDt getZip(){
  if (myZip == null) {
    myZip=new StringDt();
  }
  return myZip;
}
Program: 112361
Project: 112361
Buggy source:
/** 
 * Gets the value(s) for country (Country (can be ISO 3166 3 letter code)) <p> <b>Definition:</b> Country - a nation as commonly understood or generally accepted </p> 
 */
public StringDt getCountry(){
  return myCountry;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>country</b> (Country (can be ISO 3166 3 letter code)). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> Country - a nation as commonly understood or generally accepted </p> 
 */
public StringDt getCountry(){
  if (myCountry == null) {
    myCountry=new StringDt();
  }
  return myCountry;
}
Program: 112362
Project: 112362
Buggy source:
/** 
 * Sets the value(s) for city (Name of city, town etc.) <p> <b>Definition:</b> The name of the city, town, village or other community or delivery center. </p> 
 */
public void setCity(StringDt theValue){
  myCity=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>city</b> (Name of city, town etc.) <p> <b>Definition:</b> The name of the city, town, village or other community or delivery center. </p> 
 */
public void setCity(String theString){
  myCity=new StringDt(theString);
}
Program: 112363
Project: 112363
Buggy source:
/** 
 * Gets the value(s) for text (Text representation of the address) <p> <b>Definition:</b> A full text representation of the address </p> 
 */
public StringDt getText(){
  return myText;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>text</b> (Text representation of the address). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> A full text representation of the address </p> 
 */
public StringDt getText(){
  if (myText == null) {
    myText=new StringDt();
  }
  return myText;
}
Program: 112364
Project: 112364
Buggy source:
/** 
 * Sets the value(s) for use (home | work | temp | old - purpose of this address) <p> <b>Definition:</b> The purpose of this address </p> 
 */
public void setUse(CodeDt theValue){
  myUse=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>use</b> (home | work | temp | old - purpose of this address) <p> <b>Definition:</b> The purpose of this address </p> 
 */
public void setUse(CodeDt theValue){
  myUse=theValue;
}
Program: 112365
Project: 112365
Buggy source:
/** 
 * Gets the value(s) for line (Street name, number, direction & P.O. Box etc ) <p> <b>Definition:</b> This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information </p> 
 */
public List<StringDt> getLine(){
  return myLine;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>line</b> (Street name, number, direction & P.O. Box etc ). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information </p> 
 */
public List<StringDt> getLine(){
  if (myLine == null) {
    myLine=new ArrayList<StringDt>();
  }
  return myLine;
}
Program: 112366
Project: 112366
Buggy source:
/** 
 * Sets the value(s) for period (Time period when address was/is in use) <p> <b>Definition:</b> Time period when address was/is in use </p> 
 */
public void setPeriod(PeriodDt theValue){
  myPeriod=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>period</b> (Time period when address was/is in use) <p> <b>Definition:</b> Time period when address was/is in use </p> 
 */
public void setPeriod(PeriodDt theValue){
  myPeriod=theValue;
}
Program: 112367
Project: 112367
Buggy source:
/** 
 * Gets the value(s) for period (Time period when address was/is in use) <p> <b>Definition:</b> Time period when address was/is in use </p> 
 */
public PeriodDt getPeriod(){
  return myPeriod;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>period</b> (Time period when address was/is in use). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> Time period when address was/is in use </p> 
 */
public PeriodDt getPeriod(){
  if (myPeriod == null) {
    myPeriod=new PeriodDt();
  }
  return myPeriod;
}
Program: 112368
Project: 112368
Buggy source:
/** 
 * Gets the value(s) for state (Sub-unit of country (abreviations ok)) <p> <b>Definition:</b> Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). </p> 
 */
public StringDt getState(){
  return myState;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>state</b> (Sub-unit of country (abreviations ok)). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). </p> 
 */
public StringDt getState(){
  if (myState == null) {
    myState=new StringDt();
  }
  return myState;
}
Program: 112369
Project: 112369
Buggy source:
/** 
 * Gets the value(s) for use (home | work | temp | old - purpose of this address) <p> <b>Definition:</b> The purpose of this address </p> 
 */
public CodeDt getUse(){
  return myUse;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>use</b> (home | work | temp | old - purpose of this address). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> The purpose of this address </p> 
 */
public CodeDt getUse(){
  if (myUse == null) {
    myUse=new CodeDt();
  }
  return myUse;
}
Program: 112370
Project: 112370
Buggy source:
/** 
 * Sets the value(s) for state (Sub-unit of country (abreviations ok)) <p> <b>Definition:</b> Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). </p> 
 */
public void setState(StringDt theValue){
  myState=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>state</b> (Sub-unit of country (abreviations ok)) <p> <b>Definition:</b> Sub-unit of a country with limited sovereignty in a federally organized country. A code may be used if codes are in common use (i.e. US 2 letter state codes). </p> 
 */
public void setState(String theString){
  myState=new StringDt(theString);
}
Program: 112371
Project: 112371
Buggy source:
/** 
 * Sets the value(s) for line (Street name, number, direction & P.O. Box etc ) <p> <b>Definition:</b> This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information </p> 
 */
public void setLine(List<StringDt> theValue){
  myLine=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>line</b> (Street name, number, direction & P.O. Box etc ) <p> <b>Definition:</b> This component contains the house number, apartment number, street name, street direction,  P.O. Box number, delivery hints, and similar address information </p> 
 */
public void setLine(List<StringDt> theValue){
  myLine=theValue;
}
Program: 112372
Project: 112372
Buggy source:
/** 
 * Sets the value(s) for zip (Postal code for area) <p> <b>Definition:</b> A postal code designating a region defined by the postal service. </p> 
 */
public void setZip(StringDt theValue){
  myZip=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>zip</b> (Postal code for area) <p> <b>Definition:</b> A postal code designating a region defined by the postal service. </p> 
 */
public void setZip(String theString){
  myZip=new StringDt(theString);
}
Program: 112373
Project: 112373
Buggy source:
/** 
 * Sets the value(s) for text (Text representation of the address) <p> <b>Definition:</b> A full text representation of the address </p> 
 */
public void setText(StringDt theValue){
  myText=theValue;
}

Fixed version (ground truth):
/** 
 * Sets the value(s) for <b>text</b> (Text representation of the address) <p> <b>Definition:</b> A full text representation of the address </p> 
 */
public void setText(String theString){
  myText=new StringDt(theString);
}
Program: 112374
Project: 112374
Buggy source:
/** 
 * Gets the value(s) for city (Name of city, town etc.) <p> <b>Definition:</b> The name of the city, town, village or other community or delivery center. </p> 
 */
public StringDt getCity(){
  return myCity;
}

Fixed version (ground truth):
/** 
 * Gets the value(s) for <b>city</b> (Name of city, town etc.). creating it if it does not exist. Will not return <code>null</code>. <p> <b>Definition:</b> The name of the city, town, village or other community or delivery center. </p> 
 */
public StringDt getCity(){
  if (myCity == null) {
    myCity=new StringDt();
  }
  return myCity;
}
Program: 112376
Project: 112376
Buggy source:
/** 
 * Clears the table and loads the first page of objects asynchronously. This method is called automatically when this   {@code Adapter} is attached to an {@code AdapterView}. <p/>  {@code loadObjects()} should only need to be called if {@link #setAutoload(boolean)} is set to{@code false}.
 */
public void loadObjects(){
  loadNextPage(true);
}

Fixed version (ground truth):
/** 
 * Clears the table and loads the first page of objects asynchronously. This method is called automatically when this   {@code Adapter} is attached to an {@code AdapterView}. <p>  {@code loadObjects()} should only need to be called if {@link #setAutoload(boolean)} is set to{@code false}.
 */
public void loadObjects(){
  loadNextPage(true);
}
Program: 112377
Project: 112377
Buggy source:
/** 
 * Override this method to customize the "Load Next Page" cell, visible when pagination is turned on and there may be more results to display. <p/> This method expects a   {@code TextView} with id {@code android.R.id.text1}.
 * @param v The view object associated with this row + type (a "Next Page" view, instead of an "Item" view).
 * @param parent The parent that this view will eventually be attached to
 * @return The view object that allows the user to paginate.
 */
public View getNextPageView(View v,ViewGroup parent){
  if (v == null) {
    v=getDefaultView(parent.getContext());
  }
  TextView textView=(TextView)v.findViewById(android.R.id.text1);
  textView.setText("String_Node_Str");
  return v;
}

Fixed version (ground truth):
/** 
 * Override this method to customize the "Load Next Page" cell, visible when pagination is turned on and there may be more results to display. <p> This method expects a   {@code TextView} with id {@code android.R.id.text1}.
 * @param v The view object associated with this row + type (a "Next Page" view, instead of an "Item" view).
 * @param parent The parent that this view will eventually be attached to
 * @return The view object that allows the user to paginate.
 */
public View getNextPageView(View v,ViewGroup parent){
  if (v == null) {
    v=getDefaultView(parent.getContext());
  }
  TextView textView=(TextView)v.findViewById(android.R.id.text1);
  textView.setText("String_Node_Str");
  return v;
}
Program: 112378
Project: 112378
Buggy source:
/** 
 * Override this method to manually paginate the provided   {@code ParseQuery}. By default, this method will set the   {@code limit} value to {@link #getObjectsPerPage()} and the {@code skip}value to   {@link #getObjectsPerPage()} * {@code page}. <p/> Overriding this method will not be necessary, in most cases.
 * @param page the page number of results to fetch from Parse.
 * @param query the  {@link ParseQuery} used to fetch items from Parse. This query will be mutated andused in its mutated form.
 */
protected void setPageOnQuery(int page,ParseQuery<T> query){
  query.setLimit(objectsPerPage + 1);
  query.setSkip(page * objectsPerPage);
}

Fixed version (ground truth):
/** 
 * Override this method to manually paginate the provided   {@code ParseQuery}. By default, this method will set the   {@code limit} value to {@link #getObjectsPerPage()} and the {@code skip}value to   {@link #getObjectsPerPage()} * {@code page}. <p> Overriding this method will not be necessary, in most cases.
 * @param page the page number of results to fetch from Parse.
 * @param query the  {@link ParseQuery} used to fetch items from Parse. This query will be mutated andused in its mutated form.
 */
protected void setPageOnQuery(int page,ParseQuery<T> query){
  query.setLimit(objectsPerPage + 1);
  query.setSkip(page * objectsPerPage);
}
Program: 112379
Project: 112379
Buggy source:
/** 
 * Loads the next page of objects, appends to table, and notifies the UI that the model has changed.
 */
public void loadNextPage(){
  this.loadObjects(currentPage + 1,false);
}

Fixed version (ground truth):
/** 
 * Loads the next page of objects, appends to table, and notifies the UI that the model has changed.
 */
public void loadNextPage(){
  if (objects.size() == 0 && runningQueries.size() == 0) {
    loadObjects(0,false);
  }
 else {
    loadObjects(currentPage + 1,false);
  }
}
Program: 112381
Project: 112381
Buggy source:
/** 
 * Remove all elements from the list.
 */
public void clear(){
  this.objectPages.clear();
  syncObjectsWithPages();
  this.notifyDataSetChanged();
  this.currentPage=0;
}

Fixed version (ground truth):
/** 
 * Remove all elements from the list.
 */
public void clear(){
  this.objectPages.clear();
  cancelAllQueries();
  syncObjectsWithPages();
  this.notifyDataSetChanged();
  this.currentPage=0;
}
Program: 112382
Project: 112382
Buggy source:
@SuppressLint("String_Node_Str") @Override public void done(List<T> foundObjects,ParseException e){
  if ((!Parse.isLocalDatastoreEnabled() && query.getCachePolicy() == CachePolicy.CACHE_ONLY) && (e != null) && e.getCode() == ParseException.CACHE_MISS) {
    return;
  }
  if ((e != null) && ((e.getCode() == ParseException.CONNECTION_FAILED) || (e.getCode() != ParseException.CACHE_MISS))) {
    hasNextPage=true;
  }
 else   if (foundObjects != null) {
    if (shouldClear && firstCallBack.get()) {
      objectPages.clear();
      objectPages.add(new ArrayList<T>());
      currentPage=page;
      firstCallBack.set(false);
    }
    if (page >= currentPage) {
      currentPage=page;
      hasNextPage=(foundObjects.size() > objectsPerPage);
    }
    if (paginationEnabled && foundObjects.size() > objectsPerPage) {
      foundObjects.remove(objectsPerPage);
    }
    List<T> currentPage=objectPages.get(page);
    currentPage.clear();
    currentPage.addAll(foundObjects);
    syncObjectsWithPages();
    notifyDataSetChanged();
  }
  notifyOnLoadedListeners(foundObjects,e);
}

Fixed version (ground truth):
@Override public void done(List<T> foundObjects,ParseException e){
  if (!runningQueries.contains(query)) {
    return;
  }
  if (query.getCachePolicy() != CachePolicy.CACHE_THEN_NETWORK || (query.getCachePolicy() == CachePolicy.CACHE_THEN_NETWORK && !firstCallBack.get())) {
    runningQueries.remove(query);
  }
  if ((!Parse.isLocalDatastoreEnabled() && query.getCachePolicy() == CachePolicy.CACHE_ONLY) && (e != null) && e.getCode() == ParseException.CACHE_MISS) {
    return;
  }
  if ((e != null) && ((e.getCode() == ParseException.CONNECTION_FAILED) || (e.getCode() != ParseException.CACHE_MISS))) {
    hasNextPage=true;
  }
 else   if (foundObjects != null) {
    if (shouldClear && firstCallBack.get()) {
      runningQueries.remove(query);
      cancelAllQueries();
      runningQueries.add(query);
      objectPages.clear();
      objectPages.add(new ArrayList<T>());
      currentPage=page;
      firstCallBack.set(false);
    }
    if (page >= currentPage) {
      currentPage=page;
      hasNextPage=(foundObjects.size() > objectsPerPage);
    }
    if (paginationEnabled && foundObjects.size() > objectsPerPage) {
      foundObjects.remove(objectsPerPage);
    }
    List<T> currentPage=objectPages.get(page);
    currentPage.clear();
    currentPage.addAll(foundObjects);
    syncObjectsWithPages();
    notifyDataSetChanged();
  }
  notifyOnLoadedListeners(foundObjects,e);
}
Program: 112383
Project: 112383
Buggy source:
/** 
 * Loads the next page of objects, appends to table, and notifies the UI that the model has changed.
 */
public void loadNextPage(){
  this.loadObjects(currentPage + 1,false);
}

Fixed version (ground truth):
/** 
 * Loads the next page of objects, appends to table, and notifies the UI that the model has changed.
 */
public void loadNextPage(){
  if (objects.size() == 0 && runningQueries.size() == 0) {
    loadObjects(0,false);
  }
 else {
    loadObjects(currentPage + 1,false);
  }
}
Program: 112385
Project: 112385
Buggy source:
/** 
 * Remove all elements from the list.
 */
public void clear(){
  this.objectPages.clear();
  syncObjectsWithPages();
  this.notifyDataSetChanged();
  this.currentPage=0;
}

Fixed version (ground truth):
/** 
 * Remove all elements from the list.
 */
public void clear(){
  this.objectPages.clear();
  cancelAllQueries();
  syncObjectsWithPages();
  this.notifyDataSetChanged();
  this.currentPage=0;
}
Program: 112386
Project: 112386
Buggy source:
@SuppressLint("String_Node_Str") @Override public void done(List<T> foundObjects,ParseException e){
  if ((!Parse.isLocalDatastoreEnabled() && query.getCachePolicy() == CachePolicy.CACHE_ONLY) && (e != null) && e.getCode() == ParseException.CACHE_MISS) {
    return;
  }
  if ((e != null) && ((e.getCode() == ParseException.CONNECTION_FAILED) || (e.getCode() != ParseException.CACHE_MISS))) {
    hasNextPage=true;
  }
 else   if (foundObjects != null) {
    if (shouldClear && firstCallBack.get()) {
      objectPages.clear();
      objectPages.add(new ArrayList<T>());
      currentPage=page;
      firstCallBack.set(false);
    }
    if (page >= currentPage) {
      currentPage=page;
      hasNextPage=(foundObjects.size() > objectsPerPage);
    }
    if (paginationEnabled && foundObjects.size() > objectsPerPage) {
      foundObjects.remove(objectsPerPage);
    }
    List<T> currentPage=objectPages.get(page);
    currentPage.clear();
    currentPage.addAll(foundObjects);
    syncObjectsWithPages();
    notifyDataSetChanged();
  }
  notifyOnLoadedListeners(foundObjects,e);
}

Fixed version (ground truth):
@Override public void done(List<T> foundObjects,ParseException e){
  if (!runningQueries.contains(query)) {
    return;
  }
  if (query.getCachePolicy() != CachePolicy.CACHE_THEN_NETWORK || (query.getCachePolicy() == CachePolicy.CACHE_THEN_NETWORK && !firstCallBack.get())) {
    runningQueries.remove(query);
  }
  if ((!Parse.isLocalDatastoreEnabled() && query.getCachePolicy() == CachePolicy.CACHE_ONLY) && (e != null) && e.getCode() == ParseException.CACHE_MISS) {
    return;
  }
  if ((e != null) && ((e.getCode() == ParseException.CONNECTION_FAILED) || (e.getCode() != ParseException.CACHE_MISS))) {
    hasNextPage=true;
  }
 else   if (foundObjects != null) {
    if (shouldClear && firstCallBack.get()) {
      runningQueries.remove(query);
      cancelAllQueries();
      runningQueries.add(query);
      objectPages.clear();
      objectPages.add(new ArrayList<T>());
      currentPage=page;
      firstCallBack.set(false);
    }
    if (page >= currentPage) {
      currentPage=page;
      hasNextPage=(foundObjects.size() > objectsPerPage);
    }
    if (paginationEnabled && foundObjects.size() > objectsPerPage) {
      foundObjects.remove(objectsPerPage);
    }
    List<T> currentPage=objectPages.get(page);
    currentPage.clear();
    currentPage.addAll(foundObjects);
    syncObjectsWithPages();
    notifyDataSetChanged();
  }
  notifyOnLoadedListeners(foundObjects,e);
}
Program: 112387
Project: 112387
Buggy source:
/** 
 * Copies resources from the jar file of the current thread and extract it to the destination path.
 * @param jarConnection
 * @param destPath destination file or directory
 */
static void copyJarResourceToPath(JarURLConnection jarConnection,File destPath){
  try (JarFile jarFile=jarConnection.getJarFile()){
    String jarConnectionEntryName=jarConnection.getEntryName();
    for (Enumeration<JarEntry> e=jarFile.entries(); e.hasMoreElements(); ) {
      JarEntry jarEntry=e.nextElement();
      String jarEntryName=jarEntry.getName();
      if (jarEntryName.startsWith(jarConnectionEntryName + "String_Node_Str") || jarEntryName.startsWith(jarConnectionEntryName)) {
        String filename=jarEntryName.substring(jarConnectionEntryName.length());
        File targetFile=new File(destPath,filename);
        if (jarEntry.isDirectory()) {
          targetFile.mkdirs();
        }
 else {
          if (!targetFile.exists() || targetFile.length() != jarEntry.getSize()) {
            try (InputStream is=jarFile.getInputStream(jarEntry);OutputStream out=FileUtils.openOutputStream(targetFile)){
              IOUtils.copy(is,out);
            }
           }
        }
      }
    }
  }
 catch (  IOException e) {
    logger.warn(e.getMessage(),e);
  }
}

Fixed version (ground truth):
/** 
 * Copies resources from the jar file of the current thread and extract it to the destination path.
 * @param jarConnection
 * @param destPath destination file or directory
 */
static void copyJarResourceToPath(JarURLConnection jarConnection,File destPath){
  try (JarFile jarFile=jarConnection.getJarFile()){
    String jarConnectionEntryName=jarConnection.getEntryName();
    if (!jarConnectionEntryName.endsWith("String_Node_Str")) {
      jarConnectionEntryName+="String_Node_Str";
    }
    for (Enumeration<JarEntry> e=jarFile.entries(); e.hasMoreElements(); ) {
      JarEntry jarEntry=e.nextElement();
      String jarEntryName=jarEntry.getName();
      if (jarEntryName.startsWith(jarConnectionEntryName)) {
        String filename=jarEntryName.substring(jarConnectionEntryName.length());
        File targetFile=new File(destPath,filename);
        if (jarEntry.isDirectory()) {
          targetFile.mkdirs();
        }
 else {
          if (!targetFile.exists() || targetFile.length() != jarEntry.getSize()) {
            try (InputStream is=jarFile.getInputStream(jarEntry);OutputStream out=FileUtils.openOutputStream(targetFile)){
              IOUtils.copy(is,out);
            }
           }
        }
      }
    }
  }
 catch (  IOException e) {
    logger.warn(e.getMessage(),e);
  }
}
Program: 112388
Project: 112388
Buggy source:
/** 
 * Converts PDF to TIFF format.
 * @param inputPdfFile input file
 * @return a multi-page TIFF image
 * @throws IOException
 */
public static File convertPdf2Tiff(File inputPdfFile) throws IOException {
  File[] pngFiles=null;
  try {
    pngFiles=convertPdf2Png(inputPdfFile);
    File tiffFile=File.createTempFile("String_Node_Str","String_Node_Str");
    ImageIOHelper.mergeTiff(pngFiles,tiffFile);
    return tiffFile;
  }
 catch (  UnsatisfiedLinkError ule) {
    throw new RuntimeException(getMessage(ule.getMessage()));
  }
catch (  NoClassDefFoundError ncdfe) {
    throw new RuntimeException(getMessage(ncdfe.getMessage()));
  }
 finally {
    if (pngFiles != null) {
      for (      File tempFile : pngFiles) {
        tempFile.delete();
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Converts PDF to TIFF format.
 * @param inputPdfFile input file
 * @return a multi-page TIFF image
 * @throws IOException
 */
public static File convertPdf2Tiff(File inputPdfFile) throws IOException {
  File[] pngFiles=null;
  try {
    pngFiles=convertPdf2Png(inputPdfFile);
    File tiffFile=File.createTempFile("String_Node_Str","String_Node_Str");
    ImageIOHelper.mergeTiff(pngFiles,tiffFile);
    return tiffFile;
  }
 catch (  UnsatisfiedLinkError ule) {
    throw new RuntimeException(getMessage(ule.getMessage()));
  }
catch (  NoClassDefFoundError ncdfe) {
    throw new RuntimeException(getMessage(ncdfe.getMessage()));
  }
 finally {
    if (pngFiles != null && pngFiles.length > 0) {
      File pngDirectory=new File(pngFiles[0].getParent());
      for (      File tempFile : pngFiles) {
        tempFile.delete();
      }
      if (pngDirectory.getAbsoluteFile().getName().equals(inputPdfFile.getName().replace("String_Node_Str","String_Node_Str"))) {
        pngDirectory.delete();
      }
    }
  }
}
Program: 112390
Project: 112390
Buggy source:
public void clear(){
  rowKeyToRowMutationState.clear();
}

Fixed version (ground truth):
public void clear(){
  rowKeyToRowMutationState.clear();
  estimatedSize=0;
}
Program: 112392
Project: 112392
Buggy source:
private void commitBatch(Region region,List<Mutation> mutations,long blockingMemstoreSize) throws IOException {
  if (mutations.isEmpty()) {
    return;
  }
  Mutation[] mutationArray=new Mutation[mutations.size()];
  for (int i=0; region.getMemStoreSize() > blockingMemstoreSize && i < 30; i++) {
    try {
      checkForRegionClosing();
      Thread.sleep(100);
    }
 catch (    InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new IOException(e);
    }
  }
  logger.debug("String_Node_Str" + mutations.size() + "String_Node_Str"+ region.getRegionInfo().getTable().getNameAsString());
  region.batchMutate(mutations.toArray(mutationArray));
}

Fixed version (ground truth):
private void commitBatch(Region region,List<Mutation> mutations,long blockingMemstoreSize) throws IOException {
  if (mutations.isEmpty()) {
    return;
  }
  Mutation[] mutationArray=new Mutation[mutations.size()];
  for (int i=0; (region.getMemStoreHeapSize() + region.getMemStoreOffHeapSize()) > blockingMemstoreSize && i < 30; i++) {
    try {
      checkForRegionClosing();
      Thread.sleep(100);
    }
 catch (    InterruptedException e) {
      Thread.currentThread().interrupt();
      throw new IOException(e);
    }
  }
  logger.debug("String_Node_Str" + mutations.size() + "String_Node_Str"+ region.getRegionInfo().getTable().getNameAsString());
  region.batchMutate(mutations.toArray(mutationArray));
}
Program: 112393
Project: 112393
Buggy source:
@Override public WAL.Entry filter(WAL.Entry entry){
  if (!SchemaUtil.isMetaTable(entry.getKey().getTablename().getName())) {
    return entry;
  }
  List<Cell> cells=entry.getEdit().getCells();
  List<Cell> cellsToRemove=Lists.newArrayList();
  for (  Cell cell : cells) {
    if (!isTenantRowCell(cell)) {
      cellsToRemove.add(cell);
    }
  }
  cells.removeAll(cellsToRemove);
  if (cells.size() > 0) {
    return entry;
  }
 else {
    return null;
  }
}

Fixed version (ground truth):
@Override public WAL.Entry filter(WAL.Entry entry){
  if (!SchemaUtil.isMetaTable(entry.getKey().getTableName().getName())) {
    return entry;
  }
  List<Cell> cells=entry.getEdit().getCells();
  List<Cell> cellsToRemove=Lists.newArrayList();
  for (  Cell cell : cells) {
    if (!isTenantRowCell(cell)) {
      cellsToRemove.add(cell);
    }
  }
  cells.removeAll(cellsToRemove);
  if (cells.size() > 0) {
    return entry;
  }
 else {
    return null;
  }
}
Program: 112394
Project: 112394
Buggy source:
@SuppressWarnings("String_Node_Str") @Before public void setUp() throws Exception {
  Path hbaseRootDir=new Path(getClass().getSimpleName() + "String_Node_Str" + testName.getMethodName());
  TEST_UTIL.getConfiguration().set("String_Node_Str",hbaseRootDir.toString());
  FileSystem newFS=miniDfs.getFileSystem();
  RegionInfo hri=RegionInfoBuilder.newBuilder(tableName).setStartKey(null).setEndKey(null).setSplit(false).build();
  Path basedir=FSUtils.getTableDir(hbaseRootDir,tableName);
  Random rn=new Random();
  tableName=TableName.valueOf("String_Node_Str" + rn.nextInt());
  WALFactory walFactory=new WALFactory(TEST_UTIL.getConfiguration(),null,getClass().getSimpleName());
  wal=walFactory.getWAL(RegionInfoBuilder.newBuilder(TableName.valueOf("String_Node_Str")).build());
  TableDescriptor htd=TableDescriptorBuilder.newBuilder(tableName).addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("String_Node_Str")).build()).build();
  r1=new HRegion(basedir,wal,newFS,TEST_UTIL.getConfiguration(),hri,htd,null){
    @Override public int hashCode(){
      return 1;
    }
    @Override public String toString(){
      return "String_Node_Str";
    }
  }
;
  r2=new HRegion(basedir,wal,newFS,TEST_UTIL.getConfiguration(),hri,htd,null){
    @Override public int hashCode(){
      return 2;
    }
    @Override public String toString(){
      return "String_Node_Str";
    }
  }
;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Before public void setUp() throws Exception {
  Path hbaseRootDir=new Path(getClass().getSimpleName() + "String_Node_Str" + testName.getMethodName());
  TEST_UTIL.getConfiguration().set("String_Node_Str",hbaseRootDir.toString());
  FileSystem newFS=miniDfs.getFileSystem();
  RegionInfo hri=RegionInfoBuilder.newBuilder(tableName).setStartKey(null).setEndKey(null).setSplit(false).build();
  Path basedir=FSUtils.getTableDir(hbaseRootDir,tableName);
  Random rn=new Random();
  tableName=TableName.valueOf("String_Node_Str" + rn.nextInt());
  WALFactory walFactory=new WALFactory(TEST_UTIL.getConfiguration(),getClass().getSimpleName());
  wal=walFactory.getWAL(RegionInfoBuilder.newBuilder(TableName.valueOf("String_Node_Str")).build());
  TableDescriptor htd=TableDescriptorBuilder.newBuilder(tableName).addColumnFamily(ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("String_Node_Str")).build()).build();
  r1=new HRegion(basedir,wal,newFS,TEST_UTIL.getConfiguration(),hri,htd,null){
    @Override public int hashCode(){
      return 1;
    }
    @Override public String toString(){
      return "String_Node_Str";
    }
  }
;
  r2=new HRegion(basedir,wal,newFS,TEST_UTIL.getConfiguration(),hri,htd,null){
    @Override public int hashCode(){
      return 2;
    }
    @Override public String toString(){
      return "String_Node_Str";
    }
  }
;
}
Program: 112395
Project: 112395
Buggy source:
@Override public RegionScanner preScannerOpen(final ObserverContext<RegionCoprocessorEnvironment> c,final Scan scan,final RegionScanner s) throws IOException {
  byte[] txnScn=scan.getAttribute(TX_SCN);
  if (txnScn != null) {
    TimeRange timeRange=scan.getTimeRange();
    scan.setTimeRange(timeRange.getMin(),Bytes.toLong(txnScn));
  }
  if (isRegionObserverFor(scan)) {
    if (!skipRegionBoundaryCheck(scan) || ScanUtil.isLocalIndex(scan)) {
      throwIfScanOutOfRegion(scan,c.getEnvironment().getRegion());
    }
    ScanUtil.setupReverseScan(scan);
  }
  this.encodingScheme=EncodedColumnsUtil.getQualifierEncodingScheme(scan);
  this.useNewValueColumnQualifier=EncodedColumnsUtil.useNewValueColumnQualifier(scan);
  return s;
}

Fixed version (ground truth):
@Override public void preScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> c,Scan scan) throws IOException {
  byte[] txnScn=scan.getAttribute(TX_SCN);
  if (txnScn != null) {
    TimeRange timeRange=scan.getTimeRange();
    scan.setTimeRange(timeRange.getMin(),Bytes.toLong(txnScn));
  }
  if (isRegionObserverFor(scan)) {
    if (!skipRegionBoundaryCheck(scan) || ScanUtil.isLocalIndex(scan)) {
      throwIfScanOutOfRegion(scan,c.getEnvironment().getRegion());
    }
    ScanUtil.setupReverseScan(scan);
  }
  this.encodingScheme=EncodedColumnsUtil.getQualifierEncodingScheme(scan);
  this.useNewValueColumnQualifier=EncodedColumnsUtil.useNewValueColumnQualifier(scan);
}
Program: 112396
Project: 112396
Buggy source:
@Override public InternalScanner preFlush(ObserverContext<RegionCoprocessorEnvironment> c,Store store,InternalScanner scanner) throws IOException {
  return delegate.preFlush(c,store,scanner);
}

Fixed version (ground truth):
@Override public InternalScanner preFlush(org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> c,Store store,InternalScanner scanner,org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker tracker) throws IOException {
  return delegate.preFlush(c,store,scanner,tracker);
}
Program: 112397
Project: 112397
Buggy source:
@Override public RegionScanner preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> c,Scan scan,RegionScanner s) throws IOException {
  return delegate.preScannerOpen(c,scan,s);
}

Fixed version (ground truth):
@Override public void preScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> c,Scan scan) throws IOException {
  delegate.preScannerOpen(c,scan);
}
Program: 112398
Project: 112398
Buggy source:
@Override public void postFlush(ObserverContext<RegionCoprocessorEnvironment> c,Store store,StoreFile resultFile) throws IOException {
  delegate.postFlush(c,store,resultFile);
}

Fixed version (ground truth):
@Override public void postFlush(org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> c,Store store,StoreFile resultFile,org.apache.hadoop.hbase.regionserver.FlushLifeCycleTracker tracker) throws IOException {
  delegate.postFlush(c,store,resultFile,tracker);
}
Program: 112399
Project: 112399
Buggy source:
@Override public HRegionInfo getRegionInfo(){
  return scanner.getRegionInfo();
}

Fixed version (ground truth):
@Override public RegionInfo getRegionInfo(){
  return scanner.getRegionInfo();
}
Program: 112401
Project: 112401
Buggy source:
private boolean areMutationsInSameTable(Table targetHTable,Region region){
  return (targetHTable == null || Bytes.compareTo(targetHTable.getName(),region.getTableDesc().getTableName().getName()) == 0);
}

Fixed version (ground truth):
private boolean areMutationsInSameTable(Table targetHTable,Region region){
  return (targetHTable == null || Bytes.compareTo(targetHTable.getName().getName(),region.getTableDescriptor().getTableName().getName()) == 0);
}
Program: 112402
Project: 112402
Buggy source:
@Override public RegionScanner preScannerOpen(ObserverContext<RegionCoprocessorEnvironment> e,Scan scan,RegionScanner s) throws IOException {
  s=super.preScannerOpen(e,scan,s);
  if (ScanUtil.isAnalyzeTable(scan)) {
    scan.setStartRow(HConstants.EMPTY_START_ROW);
    scan.setStopRow(HConstants.EMPTY_END_ROW);
    scan.setFilter(null);
  }
  return s;
}

Fixed version (ground truth):
@Override public void preScannerOpen(org.apache.hadoop.hbase.coprocessor.ObserverContext<RegionCoprocessorEnvironment> c,Scan scan) throws IOException {
  if (ScanUtil.isAnalyzeTable(scan)) {
    scan.withStartRow(HConstants.EMPTY_START_ROW);
    scan.withStopRow(HConstants.EMPTY_END_ROW);
    scan.setFilter(null);
  }
}
Program: 112403
Project: 112403
Buggy source:
private void separateLocalAndRemoteMutations(Table targetHTable,Region region,List<Mutation> mutations,List<Mutation> localRegionMutations,List<Mutation> remoteRegionMutations,boolean isPKChanging){
  boolean areMutationsInSameTable=areMutationsInSameTable(targetHTable,region);
  if (areMutationsInSameTable && isPKChanging) {
    HRegionInfo regionInfo=region.getRegionInfo();
    for (    Mutation mutation : mutations) {
      if (regionInfo.containsRow(mutation.getRow())) {
        localRegionMutations.add(mutation);
      }
 else {
        remoteRegionMutations.add(mutation);
      }
    }
  }
 else   if (areMutationsInSameTable && !isPKChanging) {
    localRegionMutations.addAll(mutations);
  }
 else {
    remoteRegionMutations.addAll(mutations);
  }
}

Fixed version (ground truth):
private void separateLocalAndRemoteMutations(Table targetHTable,Region region,List<Mutation> mutations,List<Mutation> localRegionMutations,List<Mutation> remoteRegionMutations,boolean isPKChanging){
  boolean areMutationsInSameTable=areMutationsInSameTable(targetHTable,region);
  if (areMutationsInSameTable && isPKChanging) {
    RegionInfo regionInfo=region.getRegionInfo();
    for (    Mutation mutation : mutations) {
      if (regionInfo.containsRow(mutation.getRow())) {
        localRegionMutations.add(mutation);
      }
 else {
        remoteRegionMutations.add(mutation);
      }
    }
  }
 else   if (areMutationsInSameTable && !isPKChanging) {
    localRegionMutations.addAll(mutations);
  }
 else {
    remoteRegionMutations.addAll(mutations);
  }
}
Program: 112404
Project: 112404
Buggy source:
@Override public HRegionInfo getRegionInfo(){
  return region.getRegionInfo();
}

Fixed version (ground truth):
@Override public RegionInfo getRegionInfo(){
  return region.getRegionInfo();
}