nus-yam/ex-repair huggingface dataset:
Program: 91497
Project: 91497
Buggy source:
@Test public void testPut() throws ExecutionException, InterruptedException {
  int count=4000000;
  HugeConfig config=HugeConfig.DEFAULT.clone().setSegments(128).setSmallEntrySize(72).setCapacity(count);
  final HugeHashMap<CharSequence,SampleValues> map=new HugeHashMap<CharSequence,SampleValues>(config,CharSequence.class,SampleValues.class);
  long start=System.nanoTime();
  final SampleValues value=new SampleValues();
  StringBuilder user=new StringBuilder();
  for (int i=0; i < count; i++) {
    value.ee=i;
    value.gg=i;
    value.ii=i;
    map.put(users(user,i),value);
  }
  for (int i=0; i < count; i++) {
    assertNotNull(map.get(users(user,i),value));
    assertEquals(i,value.ee);
    assertEquals(i,value.gg,0.0);
    assertEquals(i,value.ii);
  }
  for (int i=0; i < count; i++)   assertNotNull(map.get(users(user,i),value));
  for (int i=0; i < count; i++)   map.remove(users(user,i));
  long time=System.nanoTime() - start;
  System.out.printf("String_Node_Str",(int)(count * 4 * 1e6 / time));
}

Fixed version (ground truth):
@Test public void testPut() throws ExecutionException, InterruptedException {
  int count=4000000;
  HugeConfig config=HugeConfig.DEFAULT.clone().setSegments(256).setSmallEntrySize(72).setCapacity(count);
  final HugeHashMap<CharSequence,SampleValues> map=new HugeHashMap<CharSequence,SampleValues>(config,CharSequence.class,SampleValues.class);
  long start=System.nanoTime();
  final SampleValues value=new SampleValues();
  StringBuilder user=new StringBuilder();
  for (int i=0; i < count; i++) {
    value.ee=i;
    value.gg=i;
    value.ii=i;
    map.put(users(user,i),value);
  }
  for (int i=0; i < count; i++) {
    assertNotNull(map.get(users(user,i),value));
    assertEquals(i,value.ee);
    assertEquals(i,value.gg,0.0);
    assertEquals(i,value.ii);
  }
  for (int i=0; i < count; i++)   assertNotNull(map.get(users(user,i),value));
  for (int i=0; i < count; i++)   map.remove(users(user,i));
  long time=System.nanoTime() - start;
  System.out.printf("String_Node_Str",(int)(count * 4 * 1e6 / time));
}
Program: 91498
Project: 91498
Buggy source:
public long entriesPerSegment(){
  long epg1=((entries * 3 / 2) / segments);
  return (Math.max(1,epg1) + 63) & ~63;
}

Fixed version (ground truth):
public long entriesPerSegment(){
  long epg1=(long)((entries * INCREASE_ENTRIES_PER_SECTOR) / segments);
  return (Math.max(1,epg1) + 63) & ~63;
}
Program: 91499
Project: 91499
Buggy source:
private SharedHashMapBuilder readFile(File file) throws IOException {
  ByteBuffer bb=ByteBuffer.allocateDirect(HEADER_SIZE).order(ByteOrder.nativeOrder());
  FileInputStream fis=new FileInputStream(file);
  fis.getChannel().read(bb);
  fis.close();
  bb.flip();
  if (bb.remaining() <= 20)   throw new IOException("String_Node_Str" + file);
  byte[] bytes=new byte[8];
  bb.get(bytes);
  if (!Arrays.equals(bytes,MAGIC))   throw new IOException("String_Node_Str" + new String(bytes,0));
  SharedHashMapBuilder builder=new SharedHashMapBuilder();
  builder.segments(bb.getInt());
  builder.entries(bb.getLong() * builder.segments());
  builder.entrySize(bb.getInt());
  builder.replicas(bb.getInt());
  builder.transactional(bb.get() == 'Y');
  if (segments() <= 0 || entries() <= 0 || entrySize() <= 0)   throw new IOException("String_Node_Str" + file);
  return builder;
}

Fixed version (ground truth):
private SharedHashMapBuilder readFile(File file) throws IOException {
  ByteBuffer bb=ByteBuffer.allocateDirect(HEADER_SIZE).order(ByteOrder.nativeOrder());
  FileInputStream fis=new FileInputStream(file);
  fis.getChannel().read(bb);
  fis.close();
  bb.flip();
  if (bb.remaining() <= 20)   throw new IOException("String_Node_Str" + file);
  byte[] bytes=new byte[8];
  bb.get(bytes);
  if (!Arrays.equals(bytes,MAGIC))   throw new IOException("String_Node_Str" + new String(bytes,0));
  SharedHashMapBuilder builder=new SharedHashMapBuilder();
  builder.segments(bb.getInt());
  builder.entries((long)(bb.getLong() * builder.segments() / INCREASE_ENTRIES_PER_SECTOR));
  builder.entrySize(bb.getInt());
  builder.replicas(bb.getInt());
  builder.transactional(bb.get() == 'Y');
  if (segments() <= 0 || entries() <= 0 || entrySize() <= 0)   throw new IOException("String_Node_Str" + file);
  return builder;
}
Program: 91500
Project: 91500
Buggy source:
/** 
 * Returns the hashes that are required to cover the given bounding box. The maximum length of hash is selected that satisfies the number of hashes returned is less than <code>maxHashes</code>. Returns null if hashes cannot be found satisfying that condition. Maximum hash length returned will be   {@link GeoHash}.MAX_HASH_LENGTH.
 * @param topLeftLat
 * @param topLeftLon
 * @param bottomRightLat
 * @param bottomRightLon
 * @param maxHashes
 * @return
 */
public static Coverage coverBoundingBoxMaxHashes(double topLeftLat,final double topLeftLon,final double bottomRightLat,final double bottomRightLon,int maxHashes){
  Coverage coverage=null;
  int startLength=hashLengthToCoverBoundingBox(topLeftLat,topLeftLon,bottomRightLat,bottomRightLon);
  for (int length=startLength; length <= MAX_HASH_LENGTH; length++) {
    Coverage c=coverBoundingBox(topLeftLat,topLeftLon,bottomRightLat,bottomRightLon,length);
    if (c.getHashes().size() > maxHashes)     return coverage;
 else     coverage=c;
  }
  return coverage;
}

Fixed version (ground truth):
/** 
 * Returns the hashes that are required to cover the given bounding box. The maximum length of hash is selected that satisfies the number of hashes returned is less than <code>maxHashes</code>. Returns null if hashes cannot be found satisfying that condition. Maximum hash length returned will be   {@link GeoHash}.MAX_HASH_LENGTH.
 * @param topLeftLat
 * @param topLeftLon
 * @param bottomRightLat
 * @param bottomRightLon
 * @param maxHashes
 * @return
 */
public static Coverage coverBoundingBoxMaxHashes(double topLeftLat,final double topLeftLon,final double bottomRightLat,final double bottomRightLon,int maxHashes){
  Coverage coverage=null;
  int startLength=hashLengthToCoverBoundingBox(topLeftLat,topLeftLon,bottomRightLat,bottomRightLon);
  if (startLength == 0)   startLength=1;
  for (int length=startLength; length <= MAX_HASH_LENGTH; length++) {
    Coverage c=coverBoundingBox(topLeftLat,topLeftLon,bottomRightLat,bottomRightLon,length);
    if (c.getHashes().size() > maxHashes)     return coverage;
 else     coverage=c;
  }
  return coverage;
}
Program: 91501
Project: 91501
Buggy source:
public void add(double lat,double lon,long time,T t,Optional<Long> expiryTime){
  String hash=GeoHash.encodeHash(lat,lon);
  for (int i=1; i <= hash.length(); i++) {
    long key=Base32.decodeBase32(hash.substring(0,i));
    if (map.get(key) == null) {
      map.put(key,new ConcurrentSkipListMap<Long,Info<T>>());
    }
    map.get(key).put(time,new Info<T>(key,lat,lon,time,t));
  }
}

Fixed version (ground truth):
public void add(double lat,double lon,long time,T t,Optional<R> id){
  String hash=GeoHash.encodeHash(lat,lon);
  addToMap(map,lat,lon,time,t,hash);
  addToMapById(lat,lon,time,t,id,hash);
}
Program: 91502
Project: 91502
Buggy source:
public Iterable<Info<T>> find(long start,long finish,String withinHash){
  long key=Base32.decodeBase32(withinHash);
  SortedMap<Long,Info<T>> sortedByTime=map.get(key);
  return sortedByTime.subMap(start,finish).values();
}

Fixed version (ground truth):
private Iterable<Info<T>> find(long start,long finish,String withinHash){
  long key=Base32.decodeBase32(withinHash);
  SortedMap<Long,Info<T>> sortedByTime=map.get(key);
  if (sortedByTime == null)   return Collections.emptyList();
 else   return sortedByTime.subMap(start,finish).values();
}
Program: 91503
Project: 91503
Buggy source:
private void run(){
  isRunning=true;
  int frames=0;
  long frameCounter=0;
  game.init();
  double lastTime=Time.getTime();
  double unprocessedTime=0;
  while (isRunning) {
    boolean render=false;
    double startTime=Time.getTime();
    double passedTime=startTime - lastTime;
    lastTime=startTime;
    unprocessedTime+=passedTime;
    frameCounter+=passedTime;
    while (unprocessedTime > frameTime) {
      render=true;
      unprocessedTime-=frameTime;
      if (Window.isCloseRequested())       stop();
      game.input((float)frameTime);
      Input.update();
      game.update((float)frameTime);
      if (frameCounter >= 1.0) {
        System.out.println(frames);
        frames=0;
        frameCounter=0;
      }
    }
    if (render) {
      game.render(renderingEngine);
      Window.render();
      frames++;
    }
 else {
      try {
        Thread.sleep(1);
      }
 catch (      InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
  cleanUp();
}

Fixed version (ground truth):
private void run(){
  isRunning=true;
  int frames=0;
  double frameCounter=0;
  game.init();
  double lastTime=Time.getTime();
  double unprocessedTime=0;
  while (isRunning) {
    boolean render=false;
    double startTime=Time.getTime();
    double passedTime=startTime - lastTime;
    lastTime=startTime;
    unprocessedTime+=passedTime;
    frameCounter+=passedTime;
    while (unprocessedTime > frameTime) {
      render=true;
      unprocessedTime-=frameTime;
      if (Window.isCloseRequested())       stop();
      game.input((float)frameTime);
      Input.update();
      game.update((float)frameTime);
      if (frameCounter >= 1.0) {
        System.out.println(frames);
        frames=0;
        frameCounter=0;
      }
    }
    if (render) {
      game.render(renderingEngine);
      Window.render();
      frames++;
    }
 else {
      try {
        Thread.sleep(1);
      }
 catch (      InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
  cleanUp();
}
Program: 91505
Project: 91505
Buggy source:
private void addAllUniforms(String shaderText){
  HashMap<String,ArrayList<GLSLStruct>> structs=findUniformStructs(shaderText);
  final String UNIFORM_KEYWORD="String_Node_Str";
  int uniformStartLocation=shaderText.indexOf(UNIFORM_KEYWORD);
  while (uniformStartLocation != -1) {
    if (!(uniformStartLocation != 0 && (Character.isWhitespace(shaderText.charAt(uniformStartLocation - 1)) || shaderText.charAt(uniformStartLocation - 1) == ';') && Character.isWhitespace(shaderText.charAt(uniformStartLocation + UNIFORM_KEYWORD.length()))))     continue;
    int begin=uniformStartLocation + UNIFORM_KEYWORD.length() + 1;
    int end=shaderText.indexOf("String_Node_Str",begin);
    String uniformLine=shaderText.substring(begin,end).trim();
    int whiteSpacePos=uniformLine.indexOf(' ');
    String uniformName=uniformLine.substring(whiteSpacePos + 1,uniformLine.length()).trim();
    String uniformType=uniformLine.substring(0,whiteSpacePos).trim();
    resource.getUniformNames().add(uniformName);
    resource.getUniformTypes().add(uniformType);
    addUniform(uniformName,uniformType,structs);
    uniformStartLocation=shaderText.indexOf(UNIFORM_KEYWORD,uniformStartLocation + UNIFORM_KEYWORD.length());
  }
}

Fixed version (ground truth):
private void addAllUniforms(String shaderText){
  HashMap<String,ArrayList<GLSLStruct>> structs=findUniformStructs(shaderText);
  final String UNIFORM_KEYWORD="String_Node_Str";
  int uniformStartLocation=shaderText.indexOf(UNIFORM_KEYWORD);
  while (uniformStartLocation != -1) {
    if (!(uniformStartLocation != 0 && (Character.isWhitespace(shaderText.charAt(uniformStartLocation - 1)) || shaderText.charAt(uniformStartLocation - 1) == ';') && Character.isWhitespace(shaderText.charAt(uniformStartLocation + UNIFORM_KEYWORD.length())))) {
      uniformStartLocation=shaderText.indexOf(UNIFORM_KEYWORD,uniformStartLocation + UNIFORM_KEYWORD.length());
      continue;
    }
    int begin=uniformStartLocation + UNIFORM_KEYWORD.length() + 1;
    int end=shaderText.indexOf("String_Node_Str",begin);
    String uniformLine=shaderText.substring(begin,end).trim();
    int whiteSpacePos=uniformLine.indexOf(' ');
    String uniformName=uniformLine.substring(whiteSpacePos + 1,uniformLine.length()).trim();
    String uniformType=uniformLine.substring(0,whiteSpacePos).trim();
    resource.getUniformNames().add(uniformName);
    resource.getUniformTypes().add(uniformType);
    addUniform(uniformName,uniformType,structs);
    uniformStartLocation=shaderText.indexOf(UNIFORM_KEYWORD,uniformStartLocation + UNIFORM_KEYWORD.length());
  }
}
Program: 91506
Project: 91506
Buggy source:
private void addAllAttributes(String shaderText){
  final String ATTRIBUTE_KEYWORD="String_Node_Str";
  int attributeStartLocation=shaderText.indexOf(ATTRIBUTE_KEYWORD);
  int attribNumber=0;
  while (attributeStartLocation != -1) {
    if (!(attributeStartLocation != 0 && (Character.isWhitespace(shaderText.charAt(attributeStartLocation - 1)) || shaderText.charAt(attributeStartLocation - 1) == ';') && Character.isWhitespace(shaderText.charAt(attributeStartLocation + ATTRIBUTE_KEYWORD.length()))))     continue;
    int begin=attributeStartLocation + ATTRIBUTE_KEYWORD.length() + 1;
    int end=shaderText.indexOf("String_Node_Str",begin);
    String attributeLine=shaderText.substring(begin,end).trim();
    String attributeName=attributeLine.substring(attributeLine.indexOf(' ') + 1,attributeLine.length()).trim();
    setAttribLocation(attributeName,attribNumber);
    attribNumber++;
    attributeStartLocation=shaderText.indexOf(ATTRIBUTE_KEYWORD,attributeStartLocation + ATTRIBUTE_KEYWORD.length());
  }
}

Fixed version (ground truth):
private void addAllAttributes(String shaderText){
  final String ATTRIBUTE_KEYWORD="String_Node_Str";
  int attributeStartLocation=shaderText.indexOf(ATTRIBUTE_KEYWORD);
  int attribNumber=0;
  while (attributeStartLocation != -1) {
    if (!(attributeStartLocation != 0 && (Character.isWhitespace(shaderText.charAt(attributeStartLocation - 1)) || shaderText.charAt(attributeStartLocation - 1) == ';') && Character.isWhitespace(shaderText.charAt(attributeStartLocation + ATTRIBUTE_KEYWORD.length())))) {
      attributeStartLocation=shaderText.indexOf(ATTRIBUTE_KEYWORD,attributeStartLocation + ATTRIBUTE_KEYWORD.length());
      continue;
    }
    int begin=attributeStartLocation + ATTRIBUTE_KEYWORD.length() + 1;
    int end=shaderText.indexOf("String_Node_Str",begin);
    String attributeLine=shaderText.substring(begin,end).trim();
    String attributeName=attributeLine.substring(attributeLine.indexOf(' ') + 1,attributeLine.length()).trim();
    setAttribLocation(attributeName,attribNumber);
    attribNumber++;
    attributeStartLocation=shaderText.indexOf(ATTRIBUTE_KEYWORD,attributeStartLocation + ATTRIBUTE_KEYWORD.length());
  }
}
Program: 91507
Project: 91507
Buggy source:
public void calcTangents(){
  for (int i=0; i < indices.size(); i+=3) {
    int i0=indices.get(i);
    int i1=indices.get(i + 1);
    int i2=indices.get(i + 2);
    Vector3f edge1=positions.get(i1).sub(positions.get(i0));
    Vector3f edge2=positions.get(i2).sub(positions.get(i0));
    float deltaU1=texCoords.get(i1).getX() - texCoords.get(i0).getX();
    float deltaV1=texCoords.get(i1).getY() - texCoords.get(i0).getY();
    float deltaU2=texCoords.get(i2).getX() - texCoords.get(i0).getX();
    float deltaV2=texCoords.get(i2).getY() - texCoords.get(i0).getY();
    float f=1.0f / (deltaU1 * deltaV2 - deltaU2 * deltaV1);
    Vector3f tangent=new Vector3f(0,0,0);
    tangent.setX(f * (deltaV2 * edge1.getX() - deltaV1 * edge2.getX()));
    tangent.setY(f * (deltaV2 * edge1.getY() - deltaV1 * edge2.getY()));
    tangent.setZ(f * (deltaV2 * edge1.getZ() - deltaV1 * edge2.getZ()));
    tangents.get(i0).set(tangents.get(i0).add(tangent));
    tangents.get(i1).set(tangents.get(i1).add(tangent));
    tangents.get(i2).set(tangents.get(i2).add(tangent));
  }
  for (int i=0; i < tangents.size(); i++)   tangents.get(i).set(tangents.get(i).normalized());
}

Fixed version (ground truth):
public void calcTangents(){
  for (int i=0; i < indices.size(); i+=3) {
    int i0=indices.get(i);
    int i1=indices.get(i + 1);
    int i2=indices.get(i + 2);
    Vector3f edge1=positions.get(i1).sub(positions.get(i0));
    Vector3f edge2=positions.get(i2).sub(positions.get(i0));
    float deltaU1=texCoords.get(i1).getX() - texCoords.get(i0).getX();
    float deltaV1=texCoords.get(i1).getY() - texCoords.get(i0).getY();
    float deltaU2=texCoords.get(i2).getX() - texCoords.get(i0).getX();
    float deltaV2=texCoords.get(i2).getY() - texCoords.get(i0).getY();
    float dividend=(deltaU1 * deltaV2 - deltaU2 * deltaV1);
    float f=dividend == 0 ? 1.0f : 1.0f / dividend;
    Vector3f tangent=new Vector3f(0,0,0);
    tangent.setX(f * (deltaV2 * edge1.getX() - deltaV1 * edge2.getX()));
    tangent.setY(f * (deltaV2 * edge1.getY() - deltaV1 * edge2.getY()));
    tangent.setZ(f * (deltaV2 * edge1.getZ() - deltaV1 * edge2.getZ()));
    tangents.get(i0).set(tangents.get(i0).add(tangent));
    tangents.get(i1).set(tangents.get(i1).add(tangent));
    tangents.get(i2).set(tangents.get(i2).add(tangent));
  }
  for (int i=0; i < tangents.size(); i++)   tangents.get(i).set(tangents.get(i).normalized());
}
Program: 91508
Project: 91508
Buggy source:
public RenderingEngine(){
  super();
  lights=new ArrayList<BaseLight>();
  samplerMap=new HashMap<String,Integer>();
  samplerMap.put("String_Node_Str",0);
  samplerMap.put("String_Node_Str",1);
  addVector3f("String_Node_Str",new Vector3f(0.1f,0.1f,0.1f));
  forwardAmbient=new Shader("String_Node_Str");
  glClearColor(0.0f,0.0f,0.0f,0.0f);
  glFrontFace(GL_CW);
  glCullFace(GL_BACK);
  glEnable(GL_CULL_FACE);
  glEnable(GL_DEPTH_TEST);
  glEnable(GL_DEPTH_CLAMP);
  glEnable(GL_TEXTURE_2D);
}

Fixed version (ground truth):
public RenderingEngine(){
  super();
  lights=new ArrayList<BaseLight>();
  samplerMap=new HashMap<String,Integer>();
  samplerMap.put("String_Node_Str",0);
  samplerMap.put("String_Node_Str",1);
  addVector3f("String_Node_Str",new Vector3f(0.1f,0.1f,0.1f));
  forwardAmbient=new Shader("String_Node_Str");
  glClearColor(0.0f,0.0f,0.0f,0.0f);
  glFrontFace(GL_CW);
  glCullFace(GL_BACK);
  glEnable(GL_CULL_FACE);
  glEnable(GL_DEPTH_TEST);
  glEnable(GL_TEXTURE_2D);
}
Program: 91509
Project: 91509
Buggy source:
@Override public void nextTuple(){
  if (!active)   return;
  Message message;
  while ((message=consumer.nextMessage()) != Message.NONE) {
    List<Object> tuple=extractTuple(message);
    if (!tuple.isEmpty()) {
      emit(tuple,message,collector);
    }
  }
}

Fixed version (ground truth):
@Override public void nextTuple(){
  if (!active)   return;
  int emitted=0;
  Message message;
  while (emitted < prefetchCount && (message=consumer.nextMessage()) != Message.NONE) {
    List<Object> tuple=extractTuple(message);
    if (!tuple.isEmpty()) {
      emit(tuple,message,collector);
      emitted+=1;
    }
  }
}
Program: 91510
Project: 91510
Buggy source:
@Override public void open(final Map config,final TopologyContext context,final SpoutOutputCollector spoutOutputCollector){
  ConsumerConfig consumerConfig=ConsumerConfig.getFromStormConfig(config);
  ErrorReporter reporter=new ErrorReporter(){
    @Override public void reportError(    Throwable error){
      spoutOutputCollector.reportError(error);
    }
  }
;
  consumer=loadConsumer(declarator,reporter,consumerConfig);
  scheme.open(config,context);
  consumer.open();
  logger=LoggerFactory.getLogger(RabbitMQSpout.class);
  collector=spoutOutputCollector;
  active=true;
}

Fixed version (ground truth):
@Override public void open(final Map config,final TopologyContext context,final SpoutOutputCollector spoutOutputCollector){
  ConsumerConfig consumerConfig=ConsumerConfig.getFromStormConfig(config);
  ErrorReporter reporter=new ErrorReporter(){
    @Override public void reportError(    Throwable error){
      spoutOutputCollector.reportError(error);
    }
  }
;
  consumer=loadConsumer(declarator,reporter,consumerConfig);
  scheme.open(config,context);
  consumer.open();
  prefetchCount=consumerConfig.getPrefetchCount();
  logger=LoggerFactory.getLogger(RabbitMQSpout.class);
  collector=spoutOutputCollector;
  active=true;
}
Program: 91511
Project: 91511
Buggy source:
protected List<Integer> emit(List<Object> tuple,Message message,SpoutOutputCollector spoutOutputCollector){
  return spoutOutputCollector.emit(tuple,getDeliveryTag(message));
}

Fixed version (ground truth):
protected List<Integer> emit(List<Object> tuple,Message message,SpoutOutputCollector spoutOutputCollector){
  return streamId == null ? spoutOutputCollector.emit(tuple,getDeliveryTag(message)) : spoutOutputCollector.emit(streamId,tuple,getDeliveryTag(message));
}
Program: 91513
Project: 91513
Buggy source:
@Test public void deepCopyIgnoreError(){
  Foo source=foo1;
  Bar target=new Bar();
  $.deepCopy(source).keywordMatching().ignoreError().to(target);
  eq(source.id,target.id);
  eq(source.name,target.name);
  eq(source.ia,target.ia);
  eq(source.si,target.si);
  notSame(source.ia,target.ia);
  notNull(target.create_date);
  ne(source.createDate.getTime(),target.create_date.getMillis());
}

Fixed version (ground truth):
@Test public void deepCopyIgnoreError() throws Exception {
  Foo source=foo1;
  Thread.sleep(10);
  Bar target=new Bar();
  $.deepCopy(source).keywordMatching().ignoreError().to(target);
  eq(source.id,target.id);
  eq(source.name,target.name);
  eq(source.ia,target.ia);
  eq(source.si,target.si);
  notSame(source.ia,target.ia);
  notNull(target.create_date);
  ne(source.createDate.getTime(),target.create_date.getMillis());
}
Program: 91514
Project: 91514
Buggy source:
@Override public boolean equals(Object o){
  if (this == o)   return true;
  if (o == null || getClass() != o.getClass())   return false;
  Bean bean=(Bean)o;
  return Objects.equals(foo,bean.foo) && Objects.equals(map,bean.map);
}

Fixed version (ground truth):
@Override public boolean equals(Object o){
  if (this == o)   return true;
  if (o == null || getClass() != o.getClass())   return false;
  Bean bean=(Bean)o;
  return $.eq(foo,bean.foo) && $.eq(C.Map(map),C.Map(bean.map));
}
Program: 91515
Project: 91515
Buggy source:
@Test public void testMerge(){
  Foo source=foo1;
  Bar target=bar1;
  $.merge(source).to(target);
  eq(source.id,target.id);
  eq(source.name,target.name);
  eq(source.ia,target.ia);
  ne(source.si,target.si);
  isNull(target.create_date);
  yes(target.si.containsAll(source.si));
}

Fixed version (ground truth):
@Test public void testMerge() throws Exception {
  Foo source=foo1;
  Thread.sleep(10);
  Bar target=new Bar();
  $.merge(source).to(target);
  eq(source.id,target.id);
  eq(source.name,target.name);
  eq(source.ia,target.ia);
  ne(source.si,target.si);
  notNull(target.create_date);
  ne(source.createDate.getTime(),target.create_date.getMillis());
  yes(target.si.containsAll(source.si));
}
Program: 91516
Project: 91516
Buggy source:
public static void main(String[] args) throws Exception {
  args=new String[]{"String_Node_Str","String_Node_Str"};
  com.sun.tools.javadoc.Main.execute(args);
}

Fixed version (ground truth):
public static void main(String[] args) throws Exception {
  args=new String[]{"String_Node_Str","String_Node_Str"};
}
Program: 91517
Project: 91517
Buggy source:
/** 
 * Run reduction from head to tail. This is equivalent to <pre> if (isEmpty()) { return _.none(); } T result = head(); for (T element: this traversable.tail()) { result = accumulator.apply(result, element); } return _.some(result); </pre>
 * @param accumulator the function accumulate each element to the final result
 * @return an {@link $.Option} describing the accumulating result
 * @since 0.2
 */
$.Option<T> reduceLeft($.Func2<T,T,T> accumulator);

Fixed version (ground truth):
/** 
 * Run reduction from head to tail. This is equivalent to <pre> if (isEmpty()) { return _.none(); } T result = head(); for (T element: this traversable.tail()) { result = accumulator.apply(result, element); } return _.some(result); </pre>
 * @param accumulator the function accumulate each element to the final result
 * @return an {@link Osgl.Option} describing the accumulating result
 * @since 0.2
 */
$.Option<T> reduceLeft($.Func2<T,T,T> accumulator);
Program: 91518
Project: 91518
Buggy source:
/** 
 * Returns a   {@link $.Func2} function that takes two elements in the range domain and returns an integer todetermine the order of the two elements. See  {@link java.util.Comparator#compare(Object,Object)} forsemantic of the function. <p>If any one of the element applied is  {@code null} the function should throw out{@link NullPointerException}</p>
 * @return a function implement the ordering logic
 * @since 0.2
 */
Comparator<ELEMENT> order();

Fixed version (ground truth):
/** 
 * Returns a   {@link Osgl.Func2} function that takes two elements in the range domain and returns an integer todetermine the order of the two elements. See  {@link java.util.Comparator#compare(Object,Object)} forsemantic of the function. <p>If any one of the element applied is  {@code null} the function should throw out{@link NullPointerException}</p>
 * @return a function implement the ordering logic
 * @since 0.2
 */
Comparator<ELEMENT> order();
Program: 91519
Project: 91519
Buggy source:
/** 
 * Apply the predicate specified to the element of this sequence from head to tail. Stop at the element that returns   {@code true}, and returns an   {@link $.Option} describing the element. If noneof the element applications in the sequence returns  {@code true}then   {@link $#none()} is returned
 * @param predicate the function map the element to Boolean
 * @return an option describe the first element matches thepredicate or  {@link $#none()}
 * @since 0.2
 */
$.Option<T> findFirst($.Function<? super T,Boolean> predicate);

Fixed version (ground truth):
/** 
 * Apply the predicate specified to the element of this sequence from head to tail. Stop at the element that returns   {@code true}, and returns an   {@link Osgl.Option} describing the element. If noneof the element applications in the sequence returns  {@code true}then   {@link Osgl#none()} is returned
 * @param predicate the function map the element to Boolean
 * @return an option describe the first element matches thepredicate or  {@link Osgl#none()}
 * @since 0.2
 */
$.Option<T> findFirst($.Function<? super T,Boolean> predicate);
Program: 91520
Project: 91520
Buggy source:
/** 
 * Split this list into two list based on the predicate specified. <p> The function use the predicate to test all elements in this list. If test passed then it add the element into   {@link $.T2#_1 left side list}, otherwise the element will be added into   {@link $.T2#_2 right side list}. The result is returned as a   {@link org.osgl.Osgl.Tuple tuple} contains the left andright side lift </p>
 * @param predicate the function to test the elements in this list
 * @return a tuple of two lists
 */
$.T2<List<T>,List<T>> split($.Function<? super T,Boolean> predicate);

Fixed version (ground truth):
/** 
 * Split this list into two list based on the predicate specified. <p> The function use the predicate to test all elements in this list. If test passed then it add the element into   {@link Osgl.T2#_1 left side list}, otherwise the element will be added into   {@link Osgl.T2#_2 right side list}. The result is returned as a   {@link org.osgl.Osgl.Tuple tuple} contains the left andright side lift </p>
 * @param predicate the function to test the elements in this list
 * @return a tuple of two lists
 */
$.T2<List<T>,List<T>> split($.Function<? super T,Boolean> predicate);
Program: 91521
Project: 91521
Buggy source:
/** 
 * Returns an element that matches the predicate specified. The interface does not indicate if it should be the first element matches the predicate be returned or in case of parallel computing, whatever element matches found first is returned. It's all up to the implementation to refine the semantic of this method
 * @param predicate the function map element to Boolean
 * @return an element in this traversal that matches the predicate or{@link $#NONE} if no element matches
 * @since 0.2
 */
$.Option<T> findOne($.Function<? super T,Boolean> predicate);

Fixed version (ground truth):
/** 
 * Returns an element that matches the predicate specified. The interface does not indicate if it should be the first element matches the predicate be returned or in case of parallel computing, whatever element matches found first is returned. It's all up to the implementation to refine the semantic of this method
 * @param predicate the function map element to Boolean
 * @return an element in this traversal that matches the predicate or{@link Osgl#NONE} if no element matches
 * @since 0.2
 */
$.Option<T> findOne($.Function<? super T,Boolean> predicate);
Program: 91522
Project: 91522
Buggy source:
/** 
 * Returns a   {@link $.Func2} function that applied to an element in this {@code Range} andan integer  {@code n} indicate the number of steps. The result of the function is an element inthe range or the range domain after moving  {@code n} steps based on the element.<p>If the element apply is  {@code null}, the function should throw out  {@link NullPointerException}; if the resulting element is not defined in the range domain, the function should throw out   {@link NoSuchElementException}</p>
 * @return a function implement the stepping logic
 * @since 0.2
 */
$.Func2<ELEMENT,Integer,ELEMENT> step();

Fixed version (ground truth):
/** 
 * Returns a   {@link Osgl.Func2} function that applied to an element in this {@code Range} andan integer  {@code n} indicate the number of steps. The result of the function is an element inthe range or the range domain after moving  {@code n} steps based on the element.<p>If the element apply is  {@code null}, the function should throw out  {@link NullPointerException}; if the resulting element is not defined in the range domain, the function should throw out   {@link NoSuchElementException}</p>
 * @return a function implement the stepping logic
 * @since 0.2
 */
$.Func2<ELEMENT,Integer,ELEMENT> step();
Program: 91523
Project: 91523
Buggy source:
/** 
 * If there are still elements, then return the an option describing the next element, otherwise return   {@link $.Option#NONE}
 * @return either next element or none if no element in the iterator
 */
protected abstract $.Option<T> getCurrent();

Fixed version (ground truth):
/** 
 * If there are still elements, then return the an option describing the next element, otherwise return   {@link Osgl.Option#NONE}
 * @return either next element or none if no element in the iterator
 */
protected abstract $.Option<T> getCurrent();
Program: 91524
Project: 91524
Buggy source:
/** 
 * Iterate through the traversal to apply the accumulator to the result of previous application and the element being iterated. If the traversal is empty then return   {@link $.Option#NONE}, otherwise an   {@link $.Option} wrapping the accumulated resultis returned
 * @param accumulator the function the combine two values
 * @return {@code _.NONE} if the traversal is empty or an option describingthe final accumulated value
 */
@Override public $.Option<T> reduce($.Func2<T,T,T> accumulator){
  Iterator<T> itr=iterator();
  if (!itr.hasNext()) {
    return $.none();
  }
  T ret=itr.next();
  while (itr.hasNext()) {
    ret=accumulator.apply(ret,itr.next());
  }
  return $.some(ret);
}

Fixed version (ground truth):
/** 
 * Iterate through the traversal to apply the accumulator to the result of previous application and the element being iterated. If the traversal is empty then return   {@link Osgl.Option#NONE}, otherwise an   {@link Osgl.Option} wrapping the accumulated resultis returned
 * @param accumulator the function the combine two values
 * @return {@code _.NONE} if the traversal is empty or an option describingthe final accumulated value
 */
@Override public $.Option<T> reduce($.Func2<T,T,T> accumulator){
  Iterator<T> itr=iterator();
  if (!itr.hasNext()) {
    return $.none();
  }
  T ret=itr.next();
  while (itr.hasNext()) {
    ret=accumulator.apply(ret,itr.next());
  }
  return $.some(ret);
}
Program: 91525
Project: 91525
Buggy source:
/** 
 * Sub class can override this method to provide more efficient algorithm to generate hash code. The default implementation use  {@link $#iterableHashCode(Iterable)} to generate the hash code
 * @return hash code of this traversal
 */
protected int generateHashCode(){
  return $.iterableHashCode(this);
}

Fixed version (ground truth):
/** 
 * Sub class can override this method to provide more efficient algorithm to generate hash code. The default implementation use  {@link Osgl#iterableHashCode(Iterable)} to generate the hash code
 * @return hash code of this traversal
 */
protected int generateHashCode(){
  return $.iterableHashCode(this);
}
Program: 91526
Project: 91526
Buggy source:
/** 
 * Iterate the traversal to check if any element applied to the predicate the iteration process stop when the element is found and return an option describing the element. If no element applied to the predicate then   {@link $.Option#NONE} is returned
 * @param predicate the function map element to Boolean
 * @return an option describing the element match the predicate or noneif no such element found in the traversal
 */
@Override public $.Option<T> findOne($.Function<? super T,Boolean> predicate){
  for (  T t : this) {
    if (predicate.apply(t)) {
      return $.some(t);
    }
  }
  return $.none();
}

Fixed version (ground truth):
/** 
 * Iterate the traversal to check if any element applied to the predicate the iteration process stop when the element is found and return an option describing the element. If no element applied to the predicate then   {@link Osgl.Option#NONE} is returned
 * @param predicate the function map element to Boolean
 * @return an option describing the element match the predicate or noneif no such element found in the traversal
 */
@Override public $.Option<T> findOne($.Function<? super T,Boolean> predicate){
  for (  T t : this) {
    if (predicate.apply(t)) {
      return $.some(t);
    }
  }
  return $.none();
}
Program: 91527
Project: 91527
Buggy source:
@Test public void testInvokeMethodThrowsOutException(){
  try {
    $.invokeVirtual(new Foo(),"String_Node_Str",1,2);
    fail("String_Node_Str");
  }
 catch (  UnexpectedMethodInvocationException e) {
    yes(e.getCause() instanceof IllegalArgumentException);
  }
}

Fixed version (ground truth):
@Test public void testInvokeMethodThrowsOutException(){
  try {
    $.invokeVirtual(new Foo(),"String_Node_Str",1,2);
    fail("String_Node_Str");
  }
 catch (  IllegalArgumentException e) {
  }
}
Program: 91528
Project: 91528
Buggy source:
/** 
 * Join a string for n times
 * @param s     the string to be joined
 * @param times the times the string to be joined
 * @return the result
 */
public static String join(String s,int times){
  E.illegalArgumentIf(times < 0,"String_Node_Str");
switch (times) {
case 0:
    return "String_Node_Str";
case 1:
  return s;
default :
int slen=s.length();
int len=slen * times;
StringBuilder sb=len > 100 ? builder() : newSizedBuilder(len);
for (int i=1; i < times; ++i) {
sb.append(s);
}
return sb.toString();
}
}

Fixed version (ground truth):
/** 
 * Join a string for n times
 * @param s     the string to be joined
 * @param times the times the string to be joined
 * @return the result
 */
public static String join(String s,int times){
  E.illegalArgumentIf(times < 0,"String_Node_Str");
switch (times) {
case 0:
    return "String_Node_Str";
case 1:
  return s;
default :
int slen=s.length();
int len=slen * times;
StringBuilder sb=len > 100 ? builder() : newSizedBuilder(len);
for (int i=0; i < times; ++i) {
sb.append(s);
}
return sb.toString();
}
}
Program: 91529
Project: 91529
Buggy source:
/** 
 * Return an item from the cache service by key
 * @param key the cache key
 * @return the value associated with the key
 */
<T>T get(String key);

Fixed version (ground truth):
/** 
 * Return an item from the cache service by key
 * @param key the cache key
 * @param < T > the generic type of the return value
 * @return the value associated with the key
 */
<T>T get(String key);
Program: 91530
Project: 91530
Buggy source:
/** 
 * Returns a new character sequence that is a subsequence of this sequence. <p> An invocation of this method of the form <pre>  {@code sb.subSequence(begin,&nbsp;end)}</pre> behaves in exactly the same way as the invocation <pre>  {@code sb.substring(begin,&nbsp;end)}</pre> This method is provided so that this class can implement the   {@link CharSequence} interface.
 * @param start   the start index, inclusive.
 * @param end     the end index, exclusive.
 * @return     the specified subsequence.
 * @throws IndexOutOfBoundsException if  {@code start} or {@code end} are negative,if  {@code end} is greater than {@code length()}, or if   {@code start} is greater than {@code end}
 * @spec JSR-51
 */
@Override public CharSequence subSequence(int start,int end){
  return substring(start,end);
}

Fixed version (ground truth):
/** 
 * Returns a new character sequence that is a subsequence of this sequence. <p> An invocation of this method of the form <pre>  {@code sb.subSequence(begin,&nbsp;end)}</pre> behaves in exactly the same way as the invocation <pre>  {@code sb.substring(begin,&nbsp;end)}</pre> This method is provided so that this class can implement the   {@link CharSequence} interface.
 * @param start   the start index, inclusive.
 * @param end     the end index, exclusive.
 * @return     the specified subsequence.
 * @throws IndexOutOfBoundsException if  {@code start} or {@code end} are negative,if  {@code end} is greater than {@code length()}, or if   {@code start} is greater than {@code end}
 */
@Override public CharSequence subSequence(int start,int end){
  return substring(start,end);
}
Program: 91531
Project: 91531
Buggy source:
/** 
 * Set default ttl value which will be used if user pass 0 as ttl or not specified ttl Note some service might not favor this method after the internal cache service is initialized. E.g. memcached and ehcaches
 * @param ttl
 */
void setDefaultTTL(int ttl);

Fixed version (ground truth):
/** 
 * Set default ttl value which will be used if user pass 0 as ttl or not specified ttl Note some service might not favor this method after the internal cache service is initialized. E.g. memcached and ehcaches
 * @param ttl the default ttl value in seconds
 */
void setDefaultTTL(int ttl);
Program: 91532
Project: 91532
Buggy source:
/** 
 * Return an item from the cache service by key
 * @param key
 * @return the value associated with the key
 */
<T>T get(String key);

Fixed version (ground truth):
/** 
 * Return an item from the cache service by key
 * @param key the cache key
 * @return the value associated with the key
 */
<T>T get(String key);
Program: 91533
Project: 91533
Buggy source:
/** 
 * Store an item into the cache by key and use default ttl
 * @param key
 * @param value
 */
void put(String key,Object value);

Fixed version (ground truth):
/** 
 * Store an item into the cache by key and use default ttl
 * @param key the cache key
 * @param value the object to be cached
 */
void put(String key,Object value);
Program: 91534
Project: 91534
Buggy source:
/** 
 * Remove an item from the cache service by key
 * @param key
 */
void evict(String key);

Fixed version (ground truth):
/** 
 * Remove an item from the cache service by key
 * @param key the cache key
 */
void evict(String key);
Program: 91535
Project: 91535
Buggy source:
/** 
 * Construct a FastRuntimeException with cause, message and message arguments
 * @param cause
 * @param message
 * @param args
 */
public ConfigurationException(Throwable cause,String message,Object... args){
  super(cause,message,args);
}

Fixed version (ground truth):
public ConfigurationException(Throwable cause,String message,Object... args){
  super(cause,message,args);
}
Program: 91536
Project: 91536
Buggy source:
/** 
 * Construct a FastRuntimeException with cause, message and message arguments
 * @param cause
 * @param message
 * @param args
 */
public FastRuntimeException(Throwable cause,String message,Object... args){
  super(S.fmt(message,args),cause);
}

Fixed version (ground truth):
public FastRuntimeException(Throwable cause,String message,Object... args){
  super(S.fmt(message,args),cause);
}
Program: 91537
Project: 91537
Buggy source:
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 */
public IllegalArgumentException asJDKException(){
  IllegalArgumentException e=new IllegalArgumentException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}

Fixed version (ground truth):
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 * @return the JDK {@link IllegalArgumentException} converted from this exception
 */
public IllegalArgumentException asJDKException(){
  IllegalArgumentException e=new IllegalArgumentException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}
Program: 91538
Project: 91538
Buggy source:
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 */
public IndexOutOfBoundsException asJDKException(){
  IndexOutOfBoundsException e=new IndexOutOfBoundsException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}

Fixed version (ground truth):
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 * @return the JDK {@link IndexOutOfBoundsException} converted from this excpetion instance
 */
public IndexOutOfBoundsException asJDKException(){
  IndexOutOfBoundsException e=new IndexOutOfBoundsException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}
Program: 91539
Project: 91539
Buggy source:
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 */
public IllegalStateException asJDKException(){
  IllegalStateException e=new IllegalStateException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}

Fixed version (ground truth):
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 * @return the JDK {@link IllegalStateException} corresponding to this exception instance
 */
public IllegalStateException asJDKException(){
  IllegalStateException e=new IllegalStateException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}
Program: 91540
Project: 91540
Buggy source:
/** 
 * Construct a FastRuntimeException with cause, message and message arguments
 * @param cause
 * @param message
 * @param args
 */
public UnexpectedException(Throwable cause,String message,Object... args){
  super(S.fmt(message,args),cause);
}

Fixed version (ground truth):
public UnexpectedException(Throwable cause,String message,Object... args){
  super(S.fmt(message,args),cause);
}
Program: 91541
Project: 91541
Buggy source:
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 */
public UnsupportedOperationException asJDKException(){
  UnsupportedOperationException e=new UnsupportedOperationException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}

Fixed version (ground truth):
/** 
 * Convert to corresponding JDK exception. Warning, since there are synchronized method execution please beware of the performance issue when calling this method
 * @return The JDK {@link UnsupportedOperationException} convert from this exception instance
 */
public UnsupportedOperationException asJDKException(){
  UnsupportedOperationException e=new UnsupportedOperationException(getMessage()){
    @Override public synchronized Throwable fillInStackTrace(){
      return this;
    }
  }
;
  e.setStackTrace(getStackTrace());
  return e;
}
Program: 91542
Project: 91542
Buggy source:
/** 
 * {@inheritDoc}This method does not specify the approach to run reduction. For a guaranteed reduction from head to tail, use  {@link #reduceLeft($.Func2)} instead
 * @param accumulator {@inheritDoc}
 * @return {@inheritDoc}
 * @since 0.2
 */
@Override $.Option<T> reduce($.Func2<T,T,T> accumulator);

Fixed version (ground truth):
/** 
 * {@inheritDoc}This method does not specify the approach to run reduction. For a guaranteed reduction from head to tail, use  {@link #reduceLeft(Osgl.Func2)} instead
 * @param accumulator {@inheritDoc}
 * @return {@inheritDoc}
 * @since 0.2
 */
@Override $.Option<T> reduce($.Func2<T,T,T> accumulator);
Program: 91543
Project: 91543
Buggy source:
/** 
 * Encrypt a string content using private key specified along with salt
 * @param content the content to be encrypted
 * @param privateKey the key to encrypt the content
 * @param salt the salt string
 * @return the encrypted content
 */
String encrypt(String content,byte[] privateKey,byte[] salt) throws Exception ;

Fixed version (ground truth):
/** 
 * Encrypt a string content using private key specified along with salt
 * @param content the content to be encrypted
 * @param privateKey the key to encrypt the content
 * @param salt the salt string
 * @return the encrypted content
 * @throws Exception when any exception happened
 */
String encrypt(String content,byte[] privateKey,byte[] salt) throws Exception ;
Program: 91544
Project: 91544
Buggy source:
/** 
 * Decrypt a secret using the private key specified along with the salt
 * @param secret the encrypted content
 * @param privateKey the key to decrypt the secret
 * @param salt the salt string
 * @return the original content
 */
String decrypt(String secret,byte[] privateKey,byte[] salt) throws Exception ;

Fixed version (ground truth):
/** 
 * Decrypt a secret using the private key specified along with the salt
 * @param secret the encrypted content
 * @param privateKey the key to decrypt the secret
 * @param salt the salt string
 * @return the original content
 * @throws Exception when any exception happened
 */
String decrypt(String secret,byte[] privateKey,byte[] salt) throws Exception ;
Program: 91545
Project: 91545
Buggy source:
/** 
 * Throw out   {@link org.osgl.exception.UnexpectedException}
 * @param cause 
 * @param msg the message template
 * @param args the message arguments
 */
public static UnexpectedException unexpected(Throwable cause,String msg,Object... args){
  throw new UnexpectedException(cause,msg,args);
}

Fixed version (ground truth):
public static UnexpectedException unexpected(Throwable cause,String msg,Object... args){
  throw new UnexpectedException(cause,msg,args);
}
Program: 91546
Project: 91546
Buggy source:
/** 
 * Throw out   {@link org.osgl.exception.UnexpectedEncodingException}
 * @param cause the UnsupportedEncodingException caused this unexpected encoding issue
 */
public static UnexpectedEncodingException encodingException(UnsupportedEncodingException cause){
  throw new UnexpectedEncodingException(cause);
}

Fixed version (ground truth):
public static UnexpectedEncodingException encodingException(UnsupportedEncodingException cause){
  throw new UnexpectedEncodingException(cause);
}
Program: 91547
Project: 91547
Buggy source:
/** 
 * throw out   {@link IllegalStateException}
 * @param msg message template
 * @param args message arguments
 */
public static InvalidStateException invalidState(String msg,Object... args){
  throw new InvalidStateException(S.fmt(msg,args));
}

Fixed version (ground truth):
public static InvalidStateException invalidState(String msg,Object... args){
  throw new InvalidStateException(S.fmt(msg,args));
}
Program: 91548
Project: 91548
Buggy source:
/** 
 * Wrapper of   {@link String#intern()}
 * @return
 */
@Override public String intern(){
  return toString().intern();
}

Fixed version (ground truth):
/** 
 * Wrapper of   {@link String#intern()}
 * @return the intern of the string
 */
@Override public String intern(){
  return toString().intern();
}