nus-yam/ex-repair huggingface dataset:
Program: 61817
Project: 61817
Buggy source:
@Override public String getASMSource(List<? extends GraphSourceItem> container,List<Long> knownAddreses,List<String> constantPool,int version,ExportMode exportMode){
  String ret="String_Node_Str" + frame + "String_Node_Str"+ skipCount;
  for (int i=0; i < skipped.size(); i++) {
    if (skipped.get(i) instanceof ActionEnd) {
      break;
    }
    ret+="String_Node_Str" + skipped.get(i).getASMSource(container,knownAddreses,constantPool,version,exportMode);
  }
  return ret;
}

Fixed version (ground truth):
@Override public String getASMSource(List<? extends GraphSourceItem> container,List<Long> knownAddreses,List<String> constantPool,int version,ExportMode exportMode){
  String ret="String_Node_Str" + frame + "String_Node_Str"+ skipCount;
  return ret;
}
Program: 61818
Project: 61818
Buggy source:
@Override public byte[] getBytes(int version){
  ByteArrayOutputStream baos=new ByteArrayOutputStream();
  SWFOutputStream sos=new SWFOutputStream(baos,version);
  try {
    sos.writeUI16(frame);
    sos.writeUI8(skipCount);
    for (int i=0; i < skipped.size(); i++) {
      sos.write(skipped.get(i).getBytes(SWF.DEFAULT_VERSION));
    }
    sos.close();
  }
 catch (  IOException e) {
  }
  return surroundWithAction(baos.toByteArray(),version);
}

Fixed version (ground truth):
@Override public byte[] getBytes(int version){
  ByteArrayOutputStream baos=new ByteArrayOutputStream();
  SWFOutputStream sos=new SWFOutputStream(baos,version);
  try {
    sos.writeUI16(frame);
    sos.writeUI8(skipCount);
    sos.close();
  }
 catch (  IOException e) {
  }
  return surroundWithAction(baos.toByteArray(),version);
}
Program: 61819
Project: 61819
Buggy source:
@Override public String getASMSource(List<? extends GraphSourceItem> container,List<Long> knownAddreses,List<String> constantPool,int version,ExportMode exportMode){
  String ret="String_Node_Str" + skipCount;
  for (int i=0; i < skipped.size(); i++) {
    if (skipped.get(i) instanceof ActionEnd) {
      break;
    }
    ret+="String_Node_Str" + skipped.get(i).getASMSource(container,knownAddreses,constantPool,version,exportMode);
  }
  return ret;
}

Fixed version (ground truth):
@Override public String getASMSource(List<? extends GraphSourceItem> container,List<Long> knownAddreses,List<String> constantPool,int version,ExportMode exportMode){
  String ret="String_Node_Str" + skipCount;
  return ret;
}
Program: 61822
Project: 61822
Buggy source:
@Override public boolean needsSemicolon(){
  if (it == null) {
    return super.needsSemicolon();
  }
  return it.needsSemicolon();
}

Fixed version (ground truth):
@Override public boolean needsSemicolon(){
  if (definition) {
    return true;
  }
  return false;
}
Program: 61823
Project: 61823
Buggy source:
@Override public boolean hasReturnValue(){
  if (it == null) {
    return false;
  }
 else {
    return it.hasReturnValue();
  }
}

Fixed version (ground truth):
@Override public boolean hasReturnValue(){
  if (definition) {
    return false;
  }
  return true;
}
Program: 61824
Project: 61824
Buggy source:
/** 
 * Constructor
 * @param swf
 * @param data Data bytes
 * @param version SWF version
 * @param level
 * @param pos
 * @param parallel
 * @param skipUnusualTags
 * @throws IOException
 * @throws java.lang.InterruptedException
 */
public DefineSpriteTag(SWF swf,byte[] data,int version,int level,long pos,boolean parallel,boolean skipUnusualTags) throws IOException, InterruptedException {
  super(swf,ID,"String_Node_Str",data,pos);
  SWFInputStream sis=new SWFInputStream(new ByteArrayInputStream(data),version,pos);
  spriteId=sis.readUI16();
  frameCount=sis.readUI16();
  subTags=sis.readTagList(swf,level + 1,parallel,skipUnusualTags,true);
}

Fixed version (ground truth):
/** 
 * Constructor
 * @param swf
 * @param data Data bytes
 * @param version SWF version
 * @param level
 * @param pos
 * @param parallel
 * @param skipUnusualTags
 * @throws IOException
 * @throws java.lang.InterruptedException
 */
public DefineSpriteTag(SWF swf,byte[] data,int version,int level,long pos,boolean parallel,boolean skipUnusualTags) throws IOException, InterruptedException {
  super(swf,ID,"String_Node_Str",data,pos);
  SWFInputStream sis=new SWFInputStream(new ByteArrayInputStream(data),version,pos);
  spriteId=sis.readUI16();
  frameCount=sis.readUI16();
  subTags=sis.readTagList(swf,level + 1,parallel,skipUnusualTags,true,swf.gfx);
}
Program: 61825
Project: 61825
Buggy source:
private String getName(GraphTargetItem item){
  if (item instanceof DirectValueActionItem) {
    DirectValueActionItem dv=(DirectValueActionItem)item;
    return (String)dv.getResult();
  }
  if (item instanceof GetVariableActionItem) {
    GetVariableActionItem gv=(GetVariableActionItem)item;
    return getName(gv.name);
  }
  if (item instanceof GetMemberActionItem) {
    GetMemberActionItem mem=(GetMemberActionItem)item;
    return getName(mem.memberName);
  }
  return null;
}

Fixed version (ground truth):
private String getName(GraphTargetItem item){
  if (item instanceof VariableActionItem) {
    return ((VariableActionItem)item).getVariableName();
  }
  if (item instanceof DirectValueActionItem) {
    DirectValueActionItem dv=(DirectValueActionItem)item;
    return (String)dv.getResult();
  }
  if (item instanceof GetVariableActionItem) {
    GetVariableActionItem gv=(GetVariableActionItem)item;
    return getName(gv.name);
  }
  if (item instanceof GetMemberActionItem) {
    GetMemberActionItem mem=(GetMemberActionItem)item;
    return getName(mem.memberName);
  }
  return null;
}
Program: 61826
Project: 61826
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(commands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (commands != null) {
    ret.add(commands);
  }
  return ret;
}
Program: 61827
Project: 61827
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(commands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (commands != null) {
    ret.add(commands);
  }
  return ret;
}
Program: 61828
Project: 61828
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(tryCommands);
  ret.addAll(catchCommands);
  ret.add(finallyCommands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (tryCommands != null) {
    ret.add(tryCommands);
  }
  ret.addAll(catchCommands);
  if (finallyCommands != null) {
    ret.add(finallyCommands);
  }
  return ret;
}
Program: 61829
Project: 61829
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(functions);
  ret.add(staticFunctions);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (functions != null) {
    ret.add(functions);
  }
  if (staticFunctions != null) {
    ret.add(staticFunctions);
  }
  return ret;
}
Program: 61830
Project: 61830
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(commands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (commands != null) {
    ret.add(commands);
  }
  return ret;
}
Program: 61831
Project: 61831
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(actions);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (actions != null) {
    ret.add(actions);
  }
  return ret;
}
Program: 61832
Project: 61832
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(tryCommands);
  ret.addAll(catchCommands);
  ret.add(finallyCommands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (tryCommands != null) {
    ret.add(tryCommands);
  }
  ret.addAll(catchCommands);
  if (finallyCommands != null) {
    ret.add(finallyCommands);
  }
  return ret;
}
Program: 61833
Project: 61833
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(commands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (commands != null) {
    ret.add(commands);
  }
  return ret;
}
Program: 61834
Project: 61834
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(firstCommands);
  ret.add(commands);
  ret.add(finalCommands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (firstCommands != null) {
    ret.add(firstCommands);
  }
  if (commands != null) {
    ret.add(commands);
  }
  if (finalCommands != null) {
    ret.add(finalCommands);
  }
  return ret;
}
Program: 61835
Project: 61835
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(onTrue);
  ret.add(onFalse);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (onTrue != null) {
    ret.add(onTrue);
  }
  if (onFalse != null) {
    ret.add(onFalse);
  }
  return ret;
}
Program: 61836
Project: 61836
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.addAll(caseCommands);
  ret.add(defaultCommands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.addAll(caseCommands);
  if (defaultCommands != null) {
    ret.add(defaultCommands);
  }
  return ret;
}
Program: 61837
Project: 61837
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(commands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (commands != null) {
    ret.add(commands);
  }
  return ret;
}
Program: 61838
Project: 61838
Buggy source:
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  ret.add(commands);
  return ret;
}

Fixed version (ground truth):
@Override public List<List<GraphTargetItem>> getSubs(){
  List<List<GraphTargetItem>> ret=new ArrayList<>();
  if (commands != null) {
    ret.add(commands);
  }
  return ret;
}
Program: 61841
Project: 61841
Buggy source:
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (name instanceof DirectValueActionItem || name instanceof GetVariableActionItem) {
    stripQuotes(name,localData,writer);
    writer.append("String_Node_Str");
    return value.toString(writer,localData);
  }
 else {
    writer.append("String_Node_Str");
    name.toString(writer,localData);
    writer.append("String_Node_Str");
    value.toString(writer,localData);
    return writer.append("String_Node_Str");
  }
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (name instanceof DirectValueActionItem || name instanceof VariableActionItem) {
    stripQuotes(name,localData,writer);
    writer.append("String_Node_Str");
    return value.toString(writer,localData);
  }
 else {
    writer.append("String_Node_Str");
    name.toString(writer,localData);
    writer.append("String_Node_Str");
    value.toString(writer,localData);
    return writer.append("String_Node_Str");
  }
}
Program: 61842
Project: 61842
Buggy source:
private boolean isThis(GraphTargetItem item){
  if (item instanceof DirectValueActionItem) {
    DirectValueActionItem di=(DirectValueActionItem)item;
    if (di.value instanceof RegisterNumber) {
      RegisterNumber rn=(RegisterNumber)di.value;
      if ("String_Node_Str".equals(rn.name)) {
        return true;
      }
    }
  }
  if (item instanceof GetVariableActionItem) {
    GetVariableActionItem gv=(GetVariableActionItem)item;
    if (gv.name instanceof DirectValueActionItem) {
      DirectValueActionItem di=(DirectValueActionItem)gv.name;
      if ("String_Node_Str".equals(di.toStringNoH(null))) {
        return true;
      }
    }
  }
  return false;
}

Fixed version (ground truth):
private boolean isThis(GraphTargetItem item){
  if (item instanceof VariableActionItem) {
    return "String_Node_Str".equals(((VariableActionItem)item).getVariableName());
  }
  return false;
}
Program: 61845
Project: 61845
Buggy source:
private FunctionActionItem function(boolean withBody,String functionName,boolean isMethod,List<VariableActionItem> variables) throws IOException, ParseException {
  GraphTargetItem ret=null;
  ParsedSymbol s=null;
  expectedType(SymbolType.PARENT_OPEN);
  s=lex();
  List<String> paramNames=new ArrayList<>();
  while (s.type != SymbolType.PARENT_CLOSE) {
    if (s.type != SymbolType.COMMA) {
      lexer.pushback(s);
    }
    s=lex();
    expected(s,lexer.yyline(),SymbolType.IDENTIFIER);
    paramNames.add(s.value.toString());
    s=lex();
    if (s.type == SymbolType.COLON) {
      type(variables);
      s=lex();
    }
    if (!s.isType(SymbolType.COMMA,SymbolType.PARENT_CLOSE)) {
      expected(s,lexer.yyline(),SymbolType.COMMA,SymbolType.PARENT_CLOSE);
    }
  }
  HashMap<String,Integer> registerVars=new HashMap<>();
  registerVars.put("String_Node_Str",REGISTER_PARENT);
  registerVars.put("String_Node_Str",REGISTER_ROOT);
  registerVars.put("String_Node_Str",REGISTER_SUPER);
  registerVars.put("String_Node_Str",REGISTER_ARGUMENTS);
  registerVars.put("String_Node_Str",REGISTER_THIS);
  registerVars.put("String_Node_Str",REGISTER_GLOBAL);
  for (int i=0; i < paramNames.size(); i++) {
    registerVars.put(paramNames.get(i),(7 + i));
  }
  List<GraphTargetItem> body=null;
  List<VariableActionItem> subvariables=new ArrayList<>();
  if (withBody) {
    expectedType(SymbolType.CURLY_OPEN);
    body=commands(registerVars,true,isMethod,0,subvariables);
    expectedType(SymbolType.CURLY_CLOSE);
  }
  return new FunctionActionItem(null,functionName,paramNames,body,constantPool,-1,subvariables);
}

Fixed version (ground truth):
private FunctionActionItem function(boolean withBody,String functionName,boolean isMethod,List<VariableActionItem> variables) throws IOException, ParseException {
  GraphTargetItem ret=null;
  ParsedSymbol s=null;
  expectedType(SymbolType.PARENT_OPEN);
  s=lex();
  List<String> paramNames=new ArrayList<>();
  while (s.type != SymbolType.PARENT_CLOSE) {
    if (s.type != SymbolType.COMMA) {
      lexer.pushback(s);
    }
    s=lex();
    expected(s,lexer.yyline(),SymbolType.IDENTIFIER);
    paramNames.add(s.value.toString());
    s=lex();
    if (s.type == SymbolType.COLON) {
      type(variables);
      s=lex();
    }
    if (!s.isType(SymbolType.COMMA,SymbolType.PARENT_CLOSE)) {
      expected(s,lexer.yyline(),SymbolType.COMMA,SymbolType.PARENT_CLOSE);
    }
  }
  List<GraphTargetItem> body=null;
  List<VariableActionItem> subvariables=new ArrayList<>();
  if (withBody) {
    expectedType(SymbolType.CURLY_OPEN);
    body=commands(new HashMap<String,Integer>(),true,isMethod,0,subvariables);
    expectedType(SymbolType.CURLY_CLOSE);
  }
  return new FunctionActionItem(null,functionName,paramNames,body,constantPool,-1,subvariables);
}
Program: 61846
Project: 61846
Buggy source:
public SourceGeneratorLocalData(HashMap<String,Integer> registerVars,Boolean inFunction,Boolean inMethod,Integer forInLevel){
  this.registerVars=registerVars;
  this.inFunction=inFunction;
  this.inMethod=inMethod;
  this.forInLevel=forInLevel;
}

Fixed version (ground truth):
public SourceGeneratorLocalData(HashMap<String,Integer> registerVars,Integer inFunction,Boolean inMethod,Integer forInLevel){
  this.registerVars=registerVars;
  this.inFunction=inFunction;
  this.inMethod=inMethod;
  this.forInLevel=forInLevel;
}
Program: 61847
Project: 61847
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str" + name + "String_Node_Str");
  ofs.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str" + name + "String_Node_Str");
  ofs.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61848
Project: 61848
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str" + name + "String_Node_Str");
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str" + name + "String_Node_Str");
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61849
Project: 61849
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str" + name + "String_Node_Str");
  ofs.toString(writer,localData);
  writer.append("String_Node_Str");
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str" + name + "String_Node_Str");
  ofs.toString(writer,localData);
  writer.append("String_Node_Str");
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61850
Project: 61850
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  object.toString(writer,localData);
  if (!params.isEmpty()) {
    writer.append("String_Node_Str");
    for (int i=0; i < params.size(); i++) {
      if (i > 0) {
        writer.append("String_Node_Str");
      }
      GraphTargetItem p=params.get(i);
      if (p instanceof NullAVM2Item) {
        writer.append("String_Node_Str");
      }
 else {
        p.toString(writer,localData);
      }
    }
    writer.append("String_Node_Str");
  }
  return writer;
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  object.toString(writer,localData);
  if (!params.isEmpty()) {
    writer.append("String_Node_Str");
    for (int i=0; i < params.size(); i++) {
      if (i > 0) {
        writer.append("String_Node_Str");
      }
      GraphTargetItem p=params.get(i);
      if (p instanceof NullAVM2Item) {
        writer.append("String_Node_Str");
      }
 else {
        p.toString(writer,localData);
      }
    }
    writer.append("String_Node_Str");
  }
  return writer;
}
Program: 61851
Project: 61851
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(value ? "String_Node_Str" : "String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(value ? "String_Node_Str" : "String_Node_Str");
}
Program: 61852
Project: 61852
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (function.getPrecedence() > precedence) {
    writer.append("String_Node_Str");
    function.toString(writer,localData);
    writer.append("String_Node_Str");
  }
 else {
    function.toString(writer,localData);
  }
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (function.getPrecedence() > precedence) {
    writer.append("String_Node_Str");
    function.toString(writer,localData);
    writer.append("String_Node_Str");
  }
 else {
    function.toString(writer,localData);
  }
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61853
Project: 61853
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  receiver.toString(writer,localData);
  writer.append("String_Node_Str");
  writer.append(methodName);
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  receiver.toString(writer,localData);
  writer.append("String_Node_Str");
  writer.append(methodName);
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61854
Project: 61854
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  formatProperty(writer,receiver,propertyName,localData);
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  formatProperty(writer,receiver,propertyName,localData);
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61855
Project: 61855
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  receiver.toString(writer,localData);
  writer.append("String_Node_Str");
  writer.append(methodName);
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  receiver.toString(writer,localData);
  writer.append("String_Node_Str");
  writer.append(methodName);
  writer.append("String_Node_Str");
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61856
Project: 61856
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (!receiver.toString().equals("String_Node_Str")) {
    receiver.toString(writer,localData);
    writer.append("String_Node_Str");
  }
  writer.append("String_Node_Str");
  multiname.toString(writer,localData);
  writer.append("String_Node_Str");
  String args="String_Node_Str";
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (!receiver.toString().equals("String_Node_Str")) {
    receiver.toString(writer,localData);
    writer.append("String_Node_Str");
  }
  writer.append("String_Node_Str");
  multiname.toString(writer,localData);
  writer.append("String_Node_Str");
  String args="String_Node_Str";
  for (int a=0; a < arguments.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    arguments.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61857
Project: 61857
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(className.getName(localData.constantsAvm2,localData.fullyQualifiedNames));
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(className.getName(localData.constantsAvm2,localData.fullyQualifiedNames));
}
Program: 61858
Project: 61858
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return value.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return value.toString(writer,localData);
}
Program: 61859
Project: 61859
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (object instanceof NewFunctionAVM2Item) {
    writer.append("String_Node_Str");
    return object.toString(writer,localData);
  }
  writer.append("String_Node_Str");
  object.toString(writer,localData);
  writer.append("String_Node_Str");
  for (int a=0; a < args.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    args.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (object instanceof NewFunctionAVM2Item) {
    writer.append("String_Node_Str");
    return object.toString(writer,localData);
  }
  writer.append("String_Node_Str");
  object.toString(writer,localData);
  writer.append("String_Node_Str");
  for (int a=0; a < args.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    args.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61860
Project: 61860
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  int idx=writer.getLength();
  object.toString(writer,localData);
  if (idx < writer.getLength()) {
    writer.append("String_Node_Str");
  }
  propertyName.toString(writer,localData);
  writer.append("String_Node_Str");
  for (int a=0; a < args.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    args.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  int idx=writer.getLength();
  object.toString(writer,localData);
  if (idx < writer.getLength()) {
    writer.append("String_Node_Str");
  }
  propertyName.toString(writer,localData);
  writer.append("String_Node_Str");
  for (int a=0; a < args.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    args.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61861
Project: 61861
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (!object.toString().equals("String_Node_Str")) {
    object.toString(writer,localData);
    writer.append("String_Node_Str");
  }
  writer.append("String_Node_Str");
  for (int a=0; a < args.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    args.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (!object.toString().equals("String_Node_Str")) {
    object.toString(writer,localData);
    writer.append("String_Node_Str");
  }
  writer.append("String_Node_Str");
  for (int a=0; a < args.size(); a++) {
    if (a > 0) {
      writer.append("String_Node_Str");
    }
    args.get(a).toString(writer,localData);
  }
  return writer.append("String_Node_Str");
}
Program: 61862
Project: 61862
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return value.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return value.toString(writer,localData);
}
Program: 61863
Project: 61863
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  writer.append(localRegName(localData.localRegNames,regIndex));
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  writer.append(localRegName(localData.localRegNames,regIndex));
  return writer.append("String_Node_Str");
}
Program: 61864
Project: 61864
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61865
Project: 61865
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  return ns.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  return ns.toString(writer,localData);
}
Program: 61866
Project: 61866
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61867
Project: 61867
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  expression.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  writer.append("String_Node_Str");
  expression.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61868
Project: 61868
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return object.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return object.toString(writer,localData);
}
Program: 61869
Project: 61869
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(propertyName.getNamespace(localData.constantsAvm2).getName(localData.constantsAvm2));
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(propertyName.getNamespace(localData.constantsAvm2).getName(localData.constantsAvm2));
}
Program: 61870
Project: 61870
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer;
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer;
}
Program: 61871
Project: 61871
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append("String_Node_Str" + value);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append("String_Node_Str" + value);
}
Program: 61872
Project: 61872
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (namespace != null) {
    namespace.toString(writer,localData);
    writer.append("String_Node_Str");
  }
 else {
  }
  if (name != null) {
    writer.append("String_Node_Str");
    name.toString(writer,localData);
    writer.append("String_Node_Str");
  }
 else {
    ConstantPool constants=localData.constantsAvm2;
    List<String> fullyQualifiedNames=localData.fullyQualifiedNames;
    writer.append(constants.getMultiname(multinameIndex).getName(constants,fullyQualifiedNames));
  }
  return writer;
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (namespace != null) {
    namespace.toString(writer,localData);
    writer.append("String_Node_Str");
  }
 else {
  }
  if (name != null) {
    writer.append("String_Node_Str");
    name.toString(writer,localData);
    writer.append("String_Node_Str");
  }
 else {
    ConstantPool constants=localData.constantsAvm2;
    List<String> fullyQualifiedNames=localData.fullyQualifiedNames;
    writer.append(constants.getMultiname(multinameIndex).getName(constants,fullyQualifiedNames));
  }
  return writer;
}
Program: 61873
Project: 61873
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  object.toString(writer,localData);
  writer.append("String_Node_Str");
  return multiname.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  object.toString(writer,localData);
  writer.append("String_Node_Str");
  return multiname.toString(writer,localData);
}
Program: 61874
Project: 61874
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(propertyName.getName(localData.constantsAvm2,localData.fullyQualifiedNames));
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append(propertyName.getName(localData.constantsAvm2,localData.fullyQualifiedNames));
}
Program: 61875
Project: 61875
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return formatProperty(writer,object,propertyName,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  return formatProperty(writer,object,propertyName,localData);
}
Program: 61876
Project: 61876
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  if (slotName == null) {
    return writer.append("String_Node_Str");
  }
  return writer.append(slotName.getName(localData.constantsAvm2,localData.fullyQualifiedNames));
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  if (slotName == null) {
    return writer.append("String_Node_Str");
  }
  return writer.append(slotName.getName(localData.constantsAvm2,localData.fullyQualifiedNames));
}
Program: 61877
Project: 61877
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (!object.toString().equals("String_Node_Str")) {
    object.toString(writer,localData);
    writer.append("String_Node_Str");
  }
  writer.append("String_Node_Str");
  return propertyName.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  if (!object.toString().equals("String_Node_Str")) {
    object.toString(writer,localData);
    writer.append("String_Node_Str");
  }
  writer.append("String_Node_Str");
  return propertyName.toString(writer,localData);
}
Program: 61878
Project: 61878
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  collection.toString(writer,localData);
  writer.append("String_Node_Str");
  return object.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  collection.toString(writer,localData);
  writer.append("String_Node_Str");
  return object.toString(writer,localData);
}
Program: 61879
Project: 61879
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  object.toString(writer,localData);
  writer.append("String_Node_Str");
  return collection.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  object.toString(writer,localData);
  writer.append("String_Node_Str");
  return collection.toString(writer,localData);
}
Program: 61880
Project: 61880
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  writer.append(localRegName(localData.localRegNames,regIndex));
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  writer.append(localRegName(localData.localRegNames,regIndex));
  return writer.append("String_Node_Str");
}
Program: 61881
Project: 61881
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  value.toString(writer,localData);
  return writer.append("String_Node_Str");
}
Program: 61882
Project: 61882
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  formatProperty(writer,object,propertyName,localData);
  writer.append("String_Node_Str");
  return value.toString(writer,localData);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData) throws InterruptedException {
  formatProperty(writer,object,propertyName,localData);
  writer.append("String_Node_Str");
  return value.toString(writer,localData);
}
Program: 61883
Project: 61883
Buggy source:
@Override protected GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append("String_Node_Str" + value);
}

Fixed version (ground truth):
@Override public GraphTextWriter appendTo(GraphTextWriter writer,LocalData localData){
  return writer.append("String_Node_Str" + value);
}
Program: 61887
Project: 61887
Buggy source:
/** 
 * Constructor
 * @param data Data bytes
 * @param version SWF version
 * @throws IOException
 */
public DefineFontInfo2Tag(SWF swf,byte[] data,int version,long pos) throws IOException {
  super(swf,ID,"String_Node_Str",data,pos);
  SWFInputStream sis=new SWFInputStream(new ByteArrayInputStream(data),version);
  fontID=sis.readUI16();
  int fontNameLen=sis.readUI8();
  fontName=new String(sis.readBytesEx(fontNameLen));
  sis.readUB(2);
  fontFlagsSmallText=sis.readUB(1) == 1;
  fontFlagsShiftJIS=sis.readUB(1) == 1;
  fontFlagsANSI=sis.readUB(1) == 1;
  fontFlagsItalic=sis.readUB(1) == 1;
  fontFlagsBold=sis.readUB(1) == 1;
  fontFlagsWideCodes=sis.readUB(1) == 1;
  languageCode=sis.readLANGCODE();
  int ctLen=sis.available() / 2;
  codeTable=new ArrayList<>();
  for (int i=0; i < ctLen; i++) {
    codeTable.add(sis.readUI16());
  }
}

Fixed version (ground truth):
/** 
 * Constructor
 * @param data Data bytes
 * @param version SWF version
 * @throws IOException
 */
public DefineFontInfo2Tag(SWF swf,byte[] data,int version,long pos) throws IOException {
  super(swf,ID,"String_Node_Str",data,pos);
  SWFInputStream sis=new SWFInputStream(new ByteArrayInputStream(data),version);
  fontID=sis.readUI16();
  int fontNameLen=sis.readUI8();
  if (version >= 6) {
    fontName=new String(sis.readBytesEx(fontNameLen),Utf8Helper.charset);
  }
 else {
    fontName=new String(sis.readBytesEx(fontNameLen));
  }
  sis.readUB(2);
  fontFlagsSmallText=sis.readUB(1) == 1;
  fontFlagsShiftJIS=sis.readUB(1) == 1;
  fontFlagsANSI=sis.readUB(1) == 1;
  fontFlagsItalic=sis.readUB(1) == 1;
  fontFlagsBold=sis.readUB(1) == 1;
  fontFlagsWideCodes=sis.readUB(1) == 1;
  languageCode=sis.readLANGCODE();
  int ctLen=sis.available() / 2;
  codeTable=new ArrayList<>();
  for (int i=0; i < ctLen; i++) {
    codeTable.add(sis.readUI16());
  }
}
Program: 61888
Project: 61888
Buggy source:
/** 
 * Constructor
 * @param data Data bytes
 * @param version SWF version
 * @param pos
 * @throws IOException
 */
public DefineFontInfoTag(SWF swf,byte[] data,int version,long pos) throws IOException {
  super(swf,ID,"String_Node_Str",data,pos);
  SWFInputStream sis=new SWFInputStream(new ByteArrayInputStream(data),version);
  fontId=sis.readUI16();
  int fontNameLen=sis.readUI8();
  fontName=new String(sis.readBytesEx(fontNameLen));
  sis.readUB(2);
  fontFlagsSmallText=sis.readUB(1) == 1;
  fontFlagsShiftJIS=sis.readUB(1) == 1;
  fontFlagsANSI=sis.readUB(1) == 1;
  fontFlagsItalic=sis.readUB(1) == 1;
  fontFlagsBold=sis.readUB(1) == 1;
  fontFlagsWideCodes=sis.readUB(1) == 1;
  codeTable=new ArrayList<>();
  do {
    if (fontFlagsWideCodes) {
      codeTable.add(sis.readUI16());
    }
 else {
      codeTable.add(sis.readUI8());
    }
  }
 while (sis.available() > 0);
}

Fixed version (ground truth):
/** 
 * Constructor
 * @param swf
 * @param data Data bytes
 * @param version SWF version
 * @param pos
 * @throws IOException
 */
public DefineFontInfoTag(SWF swf,byte[] data,int version,long pos) throws IOException {
  super(swf,ID,"String_Node_Str",data,pos);
  SWFInputStream sis=new SWFInputStream(new ByteArrayInputStream(data),version);
  fontId=sis.readUI16();
  int fontNameLen=sis.readUI8();
  if (version >= 6) {
    fontName=new String(sis.readBytesEx(fontNameLen),Utf8Helper.charset);
  }
 else {
    fontName=new String(sis.readBytesEx(fontNameLen));
  }
  sis.readUB(2);
  fontFlagsSmallText=sis.readUB(1) == 1;
  fontFlagsShiftJIS=sis.readUB(1) == 1;
  fontFlagsANSI=sis.readUB(1) == 1;
  fontFlagsItalic=sis.readUB(1) == 1;
  fontFlagsBold=sis.readUB(1) == 1;
  fontFlagsWideCodes=sis.readUB(1) == 1;
  codeTable=new ArrayList<>();
  do {
    if (fontFlagsWideCodes) {
      codeTable.add(sis.readUI16());
    }
 else {
      codeTable.add(sis.readUI8());
    }
  }
 while (sis.available() > 0);
}
Program: 61889
Project: 61889
Buggy source:
@Override public void run() throws IOException {
  ImageIO.write(((ImageTag)t).getImage(ttags),((ImageTag)t).getImageFormat().toUpperCase(Locale.ENGLISH),file);
}

Fixed version (ground truth):
@Override public void run() throws IOException {
  ImageIO.write(((ImageTag)t).getImage(ttags).getBufferedImage(),((ImageTag)t).getImageFormat().toUpperCase(Locale.ENGLISH),file);
}
Program: 61891
Project: 61891
Buggy source:
public static BufferedImage frameToImage(int containerId,int frame,List<Tag> allTags,List<Tag> controlTags,RECT displayRect,int totalFrameCount,Stack<Integer> visited){
  List<BufferedImage> ret=new ArrayList<>();
  framesToImage(containerId,ret,frame,frame,allTags,controlTags,displayRect,totalFrameCount,visited);
  if (ret.isEmpty()) {
    return new BufferedImage(1,1,BufferedImage.TYPE_INT_ARGB);
  }
  return ret.get(0);
}

Fixed version (ground truth):
public static SerializableImage frameToImage(int containerId,int frame,List<Tag> allTags,List<Tag> controlTags,RECT displayRect,int totalFrameCount,Stack<Integer> visited){
  List<SerializableImage> ret=new ArrayList<>();
  framesToImage(containerId,ret,frame,frame,allTags,controlTags,displayRect,totalFrameCount,visited);
  if (ret.isEmpty()) {
    return new SerializableImage(1,1,SerializableImage.TYPE_INT_ARGB);
  }
  return ret.get(0);
}