nus-yam/ex-repair huggingface dataset:
Program: 16222
Project: 16222
Buggy source:
public void afterComponentAttached(Component comp,Page page){
  if (comp.getDesktop() != null) {
    final Binder selfBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
    if (selfBinder == null) {
      final Binder binder=(Binder)comp.getAttribute(BinderImpl.BINDER,true);
      if (binder != null) {
        comp.addEventListener(10000,BinderImpl.ON_BIND_INIT,new EventListener<Event>(){
          @Override public void onEvent(          Event event) throws Exception {
            final Component comp=event.getTarget();
            comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
            if (comp.getParent() == null || comp.getPage() == null) {
              return;
            }
            final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
            if (innerBinder != null) {
              return;
            }
            if ((binder instanceof AnnotateBinder))             new AnnotateBinderHelper(binder).initComponentBindings(comp);
            binder.loadComponent(comp,true);
            if (comp.getAttribute(BinderImpl.VAR) != null)             comp.setAttribute(BinderImpl.BINDER,binder);
          }
        }
);
        Events.postEvent(new Event(BinderImpl.ON_BIND_INIT,comp));
      }
    }
  }
}

Fixed version (ground truth):
public void afterComponentAttached(Component comp,Page page){
  if (comp.getDesktop() != null) {
    final Binder selfBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
    if (selfBinder == null) {
      final Binder binder=(Binder)comp.getAttribute(BinderImpl.BINDER,true);
      if (binder != null && (binder instanceof BinderImpl)) {
        comp.addEventListener(10000,BinderImpl.ON_BIND_INIT,new EventListener<Event>(){
          @Override public void onEvent(          Event event) throws Exception {
            final Component comp=event.getTarget();
            comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
            if (comp.getParent() == null || comp.getPage() == null) {
              return;
            }
            final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
            if (innerBinder != null) {
              return;
            }
            if (binder instanceof AnnotateBinder) {
              new AnnotateBinderHelper(binder).initComponentBindings(comp);
            }
            binder.loadComponent(comp,true);
            if (comp.getAttribute(BinderImpl.VAR) != null)             comp.setAttribute(BinderImpl.BINDER,binder);
          }
        }
);
        Events.postEvent(new Event(BinderImpl.ON_BIND_INIT,comp));
      }
    }
  }
}
Program: 16223
Project: 16223
Buggy source:
@Override public void onEvent(Event event) throws Exception {
  final Component comp=event.getTarget();
  comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
  if (comp.getParent() == null || comp.getPage() == null) {
    return;
  }
  final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
  if (innerBinder != null) {
    return;
  }
  if ((binder instanceof AnnotateBinder))   new AnnotateBinderHelper(binder).initComponentBindings(comp);
  binder.loadComponent(comp,true);
  if (comp.getAttribute(BinderImpl.VAR) != null)   comp.setAttribute(BinderImpl.BINDER,binder);
}

Fixed version (ground truth):
@Override public void onEvent(Event event) throws Exception {
  final Component comp=event.getTarget();
  comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
  if (comp.getParent() == null || comp.getPage() == null) {
    return;
  }
  final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
  if (innerBinder != null) {
    return;
  }
  if (binder instanceof AnnotateBinder) {
    new AnnotateBinderHelper(binder).initComponentBindings(comp);
  }
  binder.loadComponent(comp,true);
  if (comp.getAttribute(BinderImpl.VAR) != null)   comp.setAttribute(BinderImpl.BINDER,binder);
}
Program: 16224
Project: 16224
Buggy source:
public void afterComponentAttached(Component comp,Page page){
  if (comp.getDesktop() != null) {
    final Binder selfBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
    if (selfBinder == null) {
      final Binder binder=(Binder)comp.getAttribute(BinderImpl.BINDER,true);
      if (binder != null && (binder instanceof AnnotateBinder)) {
        comp.addEventListener(10000,BinderImpl.ON_BIND_INIT,new EventListener<Event>(){
          @Override public void onEvent(          Event event) throws Exception {
            final Component comp=event.getTarget();
            comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
            if (comp.getParent() == null || comp.getPage() == null) {
              return;
            }
            final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
            if (innerBinder != null) {
              return;
            }
            new AnnotateBinderHelper(binder).initComponentBindings(comp);
            binder.loadComponent(comp,true);
            if (comp.getAttribute(BinderImpl.VAR) != null)             comp.setAttribute(BinderImpl.BINDER,binder);
          }
        }
);
        Events.postEvent(new Event(BinderImpl.ON_BIND_INIT,comp));
      }
    }
  }
}

Fixed version (ground truth):
public void afterComponentAttached(Component comp,Page page){
  if (comp.getDesktop() != null) {
    final Binder selfBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
    if (selfBinder == null) {
      final Binder binder=(Binder)comp.getAttribute(BinderImpl.BINDER,true);
      if (binder != null) {
        comp.addEventListener(10000,BinderImpl.ON_BIND_INIT,new EventListener<Event>(){
          @Override public void onEvent(          Event event) throws Exception {
            final Component comp=event.getTarget();
            comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
            if (comp.getParent() == null || comp.getPage() == null) {
              return;
            }
            final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
            if (innerBinder != null) {
              return;
            }
            if ((binder instanceof AnnotateBinder))             new AnnotateBinderHelper(binder).initComponentBindings(comp);
            binder.loadComponent(comp,true);
            if (comp.getAttribute(BinderImpl.VAR) != null)             comp.setAttribute(BinderImpl.BINDER,binder);
          }
        }
);
        Events.postEvent(new Event(BinderImpl.ON_BIND_INIT,comp));
      }
    }
  }
}
Program: 16225
Project: 16225
Buggy source:
@Override public void onEvent(Event event) throws Exception {
  final Component comp=event.getTarget();
  comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
  if (comp.getParent() == null || comp.getPage() == null) {
    return;
  }
  final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
  if (innerBinder != null) {
    return;
  }
  new AnnotateBinderHelper(binder).initComponentBindings(comp);
  binder.loadComponent(comp,true);
  if (comp.getAttribute(BinderImpl.VAR) != null)   comp.setAttribute(BinderImpl.BINDER,binder);
}

Fixed version (ground truth):
@Override public void onEvent(Event event) throws Exception {
  final Component comp=event.getTarget();
  comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
  if (comp.getParent() == null || comp.getPage() == null) {
    return;
  }
  final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
  if (innerBinder != null) {
    return;
  }
  if ((binder instanceof AnnotateBinder))   new AnnotateBinderHelper(binder).initComponentBindings(comp);
  binder.loadComponent(comp,true);
  if (comp.getAttribute(BinderImpl.VAR) != null)   comp.setAttribute(BinderImpl.BINDER,binder);
}
Program: 16226
Project: 16226
Buggy source:
static void initBuiltinConverters(){
synchronized (_converters) {
    set0("String_Node_Str",new ObjectBooleanConverter());
    set0("String_Node_Str",new FormatedDateConverter());
    set0("String_Node_Str",new FormatedNumberConverter());
    set0("String_Node_Str",new UriConverter());
    _init=true;
  }
}

Fixed version (ground truth):
static void initBuiltinConverters(){
synchronized (_converters) {
    set0("String_Node_Str",new ObjectBooleanConverter());
    set0("String_Node_Str",new FormatedDateConverter());
    set0("String_Node_Str",new FormatedDateConverter());
    set0("String_Node_Str",new FormatedNumberConverter());
    set0("String_Node_Str",new FormatedNumberConverter());
    set0("String_Node_Str",new UriConverter());
    _init=true;
  }
}
Program: 16227
Project: 16227
Buggy source:
public void afterComponentAttached(Component comp,Page page){
  if (comp.getDesktop() != null) {
    final Binder selfBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
    if (selfBinder == null) {
      final Binder binder=(Binder)comp.getAttribute(BinderImpl.BINDER,true);
      if (binder != null) {
        comp.addEventListener(10000,BinderImpl.ON_BIND_INIT,new EventListener<Event>(){
          @Override public void onEvent(          Event event) throws Exception {
            final Component comp=event.getTarget();
            comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
            if (comp.getParent() == null || comp.getPage() == null) {
              return;
            }
            final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
            if (innerBinder != null) {
              return;
            }
            new AnnotateBinderHelper(binder).initComponentBindings(comp);
            binder.loadComponent(comp,true);
            if (comp.getAttribute(BinderImpl.VAR) != null)             comp.setAttribute(BinderImpl.BINDER,binder);
          }
        }
);
        Events.postEvent(new Event(BinderImpl.ON_BIND_INIT,comp));
      }
    }
  }
}

Fixed version (ground truth):
public void afterComponentAttached(Component comp,Page page){
  if (comp.getDesktop() != null) {
    final Binder selfBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
    if (selfBinder == null) {
      final Binder binder=(Binder)comp.getAttribute(BinderImpl.BINDER,true);
      if (binder != null && (binder instanceof AnnotateBinder)) {
        comp.addEventListener(10000,BinderImpl.ON_BIND_INIT,new EventListener<Event>(){
          @Override public void onEvent(          Event event) throws Exception {
            final Component comp=event.getTarget();
            comp.removeEventListener(BinderImpl.ON_BIND_INIT,this);
            if (comp.getParent() == null || comp.getPage() == null) {
              return;
            }
            final Binder innerBinder=(Binder)comp.getAttribute(BinderImpl.BINDER);
            if (innerBinder != null) {
              return;
            }
            new AnnotateBinderHelper(binder).initComponentBindings(comp);
            binder.loadComponent(comp,true);
            if (comp.getAttribute(BinderImpl.VAR) != null)             comp.setAttribute(BinderImpl.BINDER,binder);
          }
        }
);
        Events.postEvent(new Event(BinderImpl.ON_BIND_INIT,comp));
      }
    }
  }
}
Program: 16228
Project: 16228
Buggy source:
@Override public boolean isGroupOpened(int groupIndex){
  return _opens == null ? true : _opens[groupIndex];
}

Fixed version (ground truth):
@Override public boolean isGroupOpened(int groupIndex){
  return _opens == null || _opens[groupIndex];
}
Program: 16229
Project: 16229
Buggy source:
private boolean setOpenGroup0(int groupIndex,boolean open){
  if (_opens == null) {
    _opens=new boolean[getGroupCount()];
  }
  if (_opens[groupIndex] != open) {
    _opens[groupIndex]=open;
    fireEvent(GroupsDataEvent.GROUPS_CHANGED,groupIndex,groupIndex,groupIndex);
    return true;
  }
  return false;
}

Fixed version (ground truth):
private boolean setOpenGroup0(int groupIndex,boolean open){
  if (_opens == null) {
    if (open)     return true;
    int length=getGroupCount();
    _opens=new boolean[length];
    for (int i=0; i < length; i++)     _opens[i]=true;
  }
  if (_opens[groupIndex] != open) {
    _opens[groupIndex]=open;
    fireEvent(GroupsDataEvent.GROUPS_CHANGED,groupIndex,groupIndex,groupIndex);
    return true;
  }
  return false;
}
Program: 16230
Project: 16230
Buggy source:
public boolean setOpenGroup0(int groupIndex,boolean open){
  if (_opens == null) {
    _opens=new boolean[getGroupCount()];
  }
  if (_opens[groupIndex] != open) {
    _opens[groupIndex]=open;
    fireEvent(GroupsDataEvent.GROUPS_CHANGED,groupIndex,-1,-1);
    return true;
  }
  return false;
}

Fixed version (ground truth):
public boolean setOpenGroup0(int groupIndex,boolean open){
  if (_opens == null) {
    if (open)     return true;
    int length=getGroupCount();
    _opens=new boolean[length];
    for (int i=0; i < length; i++)     _opens[i]=true;
  }
  if (_opens[groupIndex] != open) {
    _opens[groupIndex]=open;
    fireEvent(GroupsDataEvent.GROUPS_CHANGED,groupIndex,-1,-1);
    return true;
  }
  return false;
}
Program: 16231
Project: 16231
Buggy source:
/** 
 * Constructor When using this constructor ,   {@link #getGroup(int)} will return the corresponding Object depends on heads.  The return value of  {@link #hasGroupfoot(int)} and {@link #getGroupfoot(int)} are depends on foots.  <p>Notice that, for backward compatibility, the last argument is <code>closes</code>.
 * @param data a two dimensional list to represent groups data
 * @param heads a list to represent head data of group
 * @param foots a list to represent foot data of group, if an element in this list is null, then {@link #hasGroupfoot(int)} will return false in corresponding index.
 * @param closes an array of boolean to represent close status of group. If not specified, then{@link #isClose(int)} will return false in corresponding index(i.e. group is default to open)
 * @since 6.0.1  
 */
public SimpleGroupsModel(List<List<D>> data,List<H> heads,List<F> foots,boolean[] closes){
  if (data == null)   throw new NullPointerException();
  _data=data;
  _heads=heads;
  _foots=foots;
  _opens=closes;
  if (_opens != null) {
    for (int i=0; i < _opens.length; i++)     _opens[i]=!_opens[i];
  }
}

Fixed version (ground truth):
/** 
 * Constructor When using this constructor ,   {@link #getGroup(int)} will return the corresponding Object depends on heads.  The return value of  {@link #hasGroupfoot(int)} and {@link #getGroupfoot(int)} are depends on foots.  <p>Notice that, for backward compatibility, the last argument is <code>closes</code>.
 * @param data a two dimensional list to represent groups data
 * @param heads a list to represent head data of group
 * @param foots a list to represent foot data of group, if an element in this list is null, then {@link #hasGroupfoot(int)} will return false in corresponding index.
 * @param closes an array of boolean to represent close status of group. If not specified, then{@link #isClose(int)} will return false in corresponding index(i.e. group is default to open)
 * @since 6.0.1  
 */
public SimpleGroupsModel(List<List<D>> data,List<H> heads,List<F> foots,boolean[] closes){
  if (data == null)   throw new NullPointerException();
  _data=data;
  _heads=heads;
  _foots=foots;
  if (closes != null) {
    int length=_data.size();
    int paramLen=Math.min(closes.length,length);
    _opens=new boolean[length];
    for (int i=0; i < paramLen; i++)     _opens[i]=closes[i];
    for (int i=paramLen; i < length; i++)     _opens[i]=true;
  }
}
Program: 16232
Project: 16232
Buggy source:
@Override public boolean isGroupOpened(int groupIndex){
  return _opens == null ? true : _opens[groupIndex];
}

Fixed version (ground truth):
@Override public boolean isGroupOpened(int groupIndex){
  return _opens == null || _opens[groupIndex];
}
Program: 16233
Project: 16233
Buggy source:
public boolean hasGroupfoot(int groupIndex){
  return _foots == null ? false : _foots.contains(groupIndex);
}

Fixed version (ground truth):
public boolean hasGroupfoot(int groupIndex){
  return _foots != null && groupIndex > -1 && groupIndex < _foots.size() && _foots.get(groupIndex) != null;
}
Program: 16234
Project: 16234
Buggy source:
@Override public Object getValue(ELContext ctx,Object base,Object property) throws NullPointerException, PropertyNotFoundException, ELException {
  if (ctx == null) {
    throw new NullPointerException();
  }
  if (base == null) {
    Integer numOfKids=(Integer)ctx.getContext(AstValue.class);
    if (numOfKids == null) {
      numOfKids=(Integer)ctx.getContext(AstIdentifier.class);
    }
    _numOfKids.push(numOfKids);
    _paths.push(new Path());
  }
  Integer numOfKids=_numOfKids.pop();
  Path path=_paths.pop();
  int nums=numOfKids.intValue() - 1;
  numOfKids=new Integer(nums);
  ctx.putContext(Integer.class,numOfKids);
  path.add(toNodeString(ctx),Objects.toString(property));
  ctx.putContext(Path.class,path);
  if (nums > 0) {
    _numOfKids.push(numOfKids);
    _paths.push(path);
  }
  return null;
}

Fixed version (ground truth):
@Override public Object getValue(ELContext ctx,Object base,Object property) throws NullPointerException, PropertyNotFoundException, ELException {
  if (ctx == null) {
    throw new NullPointerException();
  }
  if (base == null) {
    final Integer numOfKids=(Integer)ctx.getContext(AstIdentifier.class);
    _numOfKids.push(numOfKids);
    _paths.push(new Path());
  }
  Integer numOfKids=_numOfKids.pop();
  Path path=_paths.pop();
  int nums=numOfKids.intValue() - 1;
  numOfKids=new Integer(nums);
  ctx.putContext(Integer.class,numOfKids);
  path.add(toNodeString(ctx),Objects.toString(property));
  ctx.putContext(Path.class,path);
  if (nums > 0) {
    _numOfKids.push(numOfKids);
    _paths.push(path);
  }
  return null;
}
Program: 16235
Project: 16235
Buggy source:
private Set<TrackerNode> getAllTrackerNodesByBean(Object bean){
  final Set<Object> beans=_equalBeansMap.getEqualBeans(bean);
  final Set<TrackerNode> nodes=new LinkedHashSet<TrackerNode>();
  for (  Object obj : beans) {
    nodes.addAll(_beanMap.get(obj));
  }
  return nodes;
}

Fixed version (ground truth):
private Set<TrackerNode> getAllTrackerNodesByBean(Object bean){
  final Set<TrackerNode> results=new LinkedHashSet<TrackerNode>();
  getAllTrackerNodesByBean0(bean,results);
  return results;
}
Program: 16237
Project: 16237
Buggy source:
public Object getValue(ELContext ctx,Object base,Object property) throws PropertyNotFoundException, ELException {
  Object value=super.getValue(ctx,base,property);
  final ReferenceBinding rbinding=value instanceof ReferenceBinding ? (ReferenceBinding)value : null;
  if (rbinding != null) {
    value=rbinding.getValue((BindELContext)((EvaluationContext)ctx).getELContext());
  }
  tieValue(ctx,base,property,value != null ? value : rbinding,false,rbinding);
  return value;
}

Fixed version (ground truth):
public Object getValue(ELContext ctx,Object base,Object property) throws PropertyNotFoundException, ELException {
  Object value=super.getValue(ctx,base,property);
  final ReferenceBinding rbinding=value instanceof ReferenceBinding ? (ReferenceBinding)value : null;
  if (rbinding != null) {
    value=rbinding.getValue((BindELContext)((EvaluationContext)ctx).getELContext());
  }
  tieValue(ctx,base,property,rbinding != null ? rbinding : value,false);
  return value;
}
Program: 16238
Project: 16238
Buggy source:
public void setValue(ELContext ctx,Object base,Object property,Object value) throws PropertyNotFoundException, PropertyNotWritableException, ELException {
  if (base instanceof ReferenceBinding) {
    base=((ReferenceBinding)base).getValue((BindELContext)((EvaluationContext)ctx).getELContext());
  }
  super.setValue(ctx,base,property,value);
  tieValue(ctx,base,property,value,true,null);
}

Fixed version (ground truth):
public void setValue(ELContext ctx,Object base,Object property,Object value) throws PropertyNotFoundException, PropertyNotWritableException, ELException {
  if (base instanceof ReferenceBinding) {
    base=((ReferenceBinding)base).getValue((BindELContext)((EvaluationContext)ctx).getELContext());
  }
  super.setValue(ctx,base,property,value);
  tieValue(ctx,base,property,value,true);
}
Program: 16240
Project: 16240
Buggy source:
/** 
 * Add event listeners to components based on the controller.
 * @param component the reference component for selector 
 * @param controller the controller of event listening methods
 */
public static void wireEventListeners(final Component component,final Object controller){
  Reflections.forMethods(controller.getClass(),Listen.class,new MethodRunner<Listen>(){
    public void onMethod(    Class<?> clazz,    Method method,    Listen anno){
      if ((method.getModifiers() & Modifier.STATIC) != 0)       throw new UiException("String_Node_Str" + method.getName());
      if (method.getParameterTypes().length > 1)       throw new UiException("String_Node_Str" + "String_Node_Str" + method.getName());
      for (      String[] strs : splitListenAnnotationValues(anno.value())) {
        String name=strs[0];
        if (name == null)         name="String_Node_Str";
        Iterable<Component> iter=iterable(component,strs[1]);
        for (        Component c : iter) {
          Set<String> set=getEvtLisSet(c,EVT_LIS);
          String mhash=method.toString();
          if (set.contains(mhash))           continue;
          c.addEventListener(name,new ComposerEventListener(method,controller));
          set.add(mhash);
        }
      }
    }
  }
);
}

Fixed version (ground truth):
/** 
 * Add event listeners to components based on the controller.
 * @param component the reference component for selector 
 * @param controller the controller of event listening methods
 */
public static void wireEventListeners(final Component component,final Object controller){
  Reflections.forMethods(controller.getClass(),Listen.class,new MethodRunner<Listen>(){
    public void onMethod(    Class<?> clazz,    Method method,    Listen anno){
      if ((method.getModifiers() & Modifier.STATIC) != 0)       throw new UiException("String_Node_Str" + method.getName());
      if (method.getParameterTypes().length > 1)       throw new UiException("String_Node_Str" + "String_Node_Str" + method.getName());
      for (      String[] strs : splitListenAnnotationValues(anno.value())) {
        String name=strs[0];
        if (name == null)         name="String_Node_Str";
        Iterable<Component> iter=iterable(component,strs[1]);
        for (        Component c : iter) {
          Set<String> set=getEvtLisSet(c,EVT_LIS);
          String mhash=name + "String_Node_Str" + method.toString();
          if (set.contains(mhash))           continue;
          c.addEventListener(name,new ComposerEventListener(method,controller));
          set.add(mhash);
        }
      }
    }
  }
);
}
Program: 16241
Project: 16241
Buggy source:
/** 
 * {@inheritDoc} 
 */
@Override public void setSelection(Collection<? extends E> selection){
  if (isSelectionChanged(selection)) {
    if (!_multiple && _selection.size() > 1)     throw new IllegalArgumentException("String_Node_Str" + selection);
    _selection.clear();
    _selection.addAll(selection);
    if (selection.isEmpty()) {
      fireSelectionEvent(null);
    }
 else     fireSelectionEvent(selection.iterator().next());
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc} 
 */
@Override public void setSelection(Collection<? extends E> selection){
  if (isSelectionChanged(selection)) {
    if (!_multiple && selection.size() > 1)     throw new IllegalArgumentException("String_Node_Str" + selection);
    _selection.clear();
    _selection.addAll(selection);
    if (selection.isEmpty()) {
      fireSelectionEvent(null);
    }
 else     fireSelectionEvent(selection.iterator().next());
  }
}
Program: 16242
Project: 16242
Buggy source:
protected FormBindingImpl(Binder binder,Component comp,String formId,String accessExpr,ConditionType conditionType,String command,Map<String,Object> bindingArgs){
  super(binder,comp,bindingArgs);
  this._formId=formId;
  this._accessInfo=AccessInfo.create(this,accessExpr,Form.class,conditionType,command,ignoreTracker());
  _fieldExprs=new HashMap<String,ExpressionX>();
}

Fixed version (ground truth):
protected FormBindingImpl(Binder binder,Component comp,String formId,String accessExpr,ConditionType conditionType,String command,Map<String,Object> bindingArgs){
  super(binder,comp,bindingArgs);
  this._formId=formId;
  this._accessInfo=AccessInfo.create(this,accessExpr,Object.class,conditionType,command,ignoreTracker());
  _fieldExprs=new HashMap<String,ExpressionX>();
}
Program: 16243
Project: 16243
Buggy source:
public void load(BindContext ctx){
  final Component comp=getComponent();
  final BindEvaluatorX eval=getBinder().getEvaluatorX();
  Object value=eval.getValue(ctx,comp,_accessInfo.getProperty());
  if (!(value instanceof Form)) {
    throw new UiException("String_Node_Str" + value);
  }
  ((BinderCtrl)getBinder()).storeForm(getComponent(),getFormId(),(Form)value);
}

Fixed version (ground truth):
public void load(BindContext ctx){
  final Component comp=getComponent();
  final BindEvaluatorX eval=getBinder().getEvaluatorX();
  final Binder binder=getBinder();
  Object value=eval.getValue(ctx,comp,_accessInfo.getProperty());
  if (!(value instanceof Form)) {
    final Form form=getFormBean();
    if (form instanceof FormExt) {
      for (      String field : ((FormExt)form).getLoadFieldNames()) {
        final ExpressionX expr=getFieldExpression(eval,field);
        if (expr != null) {
          final Object fieldval=eval.getValue(ctx,comp,expr);
          form.setField(field,fieldval);
        }
      }
      ((FormExt)form).resetDirty();
    }
    binder.notifyChange(form,"String_Node_Str");
    if (form instanceof FormExt) {
      binder.notifyChange(((FormExt)form).getStatus(),"String_Node_Str");
    }
  }
 else {
    ((BinderCtrl)binder).storeForm(getComponent(),getFormId(),(Form)value);
  }
}
Program: 16244
Project: 16244
Buggy source:
/** 
 * Constructs a cachemap by using LinkedHashMap internally.
 */
public CacheMap(int cap,float load){
  _map=new LinkedHashMap<K,Value<V>>(cap,load,true);
  init();
}

Fixed version (ground truth):
/** 
 * Constructs a cachemap by using LinkedHashMap internally.
 */
public CacheMap(int cap,float load){
  _map=new LinkedHashMap<K,Value<V>>(cap,load,isAccessOrder());
  init();
}
Program: 16245
Project: 16245
Buggy source:
public boolean containsKey(Object key){
  tryExpunge();
  return _map.containsKey(key);
}

Fixed version (ground truth):
public boolean containsKey(Object key){
  tryExpunge();
  return containsKeyWithoutExpunge(key);
}
Program: 16246
Project: 16246
Buggy source:
/** 
 * Returns the value without trying to expunge first. It is useful if you want to preserve all entries.
 */
public V getWithoutExpunge(Object key){
  final Value<V> v=_map.get(key);
  if (v != null) {
    v.updateAccessTime();
    return v.value;
  }
  return null;
}

Fixed version (ground truth):
/** 
 * Returns the value without trying to expunge for more memory. It is useful if you want to preserve all entries.
 */
public V getWithoutExpunge(Object key){
  final Value<V> v=_map.get(key);
  if (v != null) {
    v.updateAccessTime();
    return v.value;
  }
  return null;
}
Program: 16247
Project: 16247
Buggy source:
@SuppressWarnings("String_Node_Str") public Object clone(){
  final CacheMap<K,V> clone;
  try {
    clone=(CacheMap<K,V>)super.clone();
  }
 catch (  CloneNotSupportedException e) {
    throw new InternalError();
  }
  clone._map=new LinkedHashMap<K,Value<V>>(clone._map);
  for (  Map.Entry<K,Value<V>> me : clone._map.entrySet()) {
    me.setValue((Value<V>)me.getValue().clone());
  }
  clone.init();
  return clone;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public Object clone(){
  final CacheMap<K,V> clone;
  try {
    clone=(CacheMap<K,V>)super.clone();
  }
 catch (  CloneNotSupportedException e) {
    throw new InternalError();
  }
  clone._inExpunge=false;
  clone._map=new LinkedHashMap<K,Value<V>>(this._map);
  for (  Map.Entry<K,Value<V>> me : clone._map.entrySet()) {
    me.setValue((Value<V>)me.getValue().clone());
  }
  clone.init();
  return clone;
}
Program: 16248
Project: 16248
Buggy source:
/** 
 * Expunges if   {@link #shallExpunge} is true. 
 */
private void tryExpunge(){
  if (shallExpunge()) {
    if (_inExpunge)     throw new IllegalStateException("String_Node_Str");
    try {
      expunge();
    }
  finally {
      newRef();
    }
  }
}

Fixed version (ground truth):
/** 
 * Expunges if   {@link #shallExpunge} is true. 
 */
private void tryExpunge(){
  if (shallExpunge())   doExpunge();
}
Program: 16249
Project: 16249
Buggy source:
@Override public V put(K key,V value){
  V result=value;
synchronized (this) {
    if (!Objects.equals(value,_cache.get(key))) {
      result=syncToWriteCache().put(key,value);
      _moreInWriteCache=true;
      if (_cache.containsKey(key))       syncToReadCache();
    }
  }
  return result;
}

Fixed version (ground truth):
@Override public V put(K key,V value){
  V result=value;
synchronized (this) {
    if (!Objects.equals(value,_cache.getWithoutExpunge(key))) {
      result=syncToWriteCache().put(key,value);
      _moreInWriteCache=true;
      if (_cache.containsKeyWithoutExpunge(key))       syncToReadCache();
    }
  }
  return result;
}
Program: 16250
Project: 16250
Buggy source:
@Override public V remove(Object key){
  V result=null;
synchronized (this) {
    if (!_cache.containsKey(key) && !_moreInWriteCache)     return null;
    result=syncToWriteCache().remove(key);
    if (_cache.containsKey(key))     syncToReadCache();
  }
  return result;
}

Fixed version (ground truth):
@Override public V remove(Object key){
  V result=null;
synchronized (this) {
    if (!_cache.containsKeyWithoutExpunge(key) && !_moreInWriteCache)     return null;
    result=syncToWriteCache().remove(key);
    if (_cache.containsKeyWithoutExpunge(key))     syncToReadCache();
  }
  return result;
}
Program: 16251
Project: 16251
Buggy source:
@Override public E getChild(int[] path){
  E parent=getRoot();
  E node=null;
  int childCount=getChildCount(parent);
  for (int i=0; i < path.length; i++) {
    if (path[i] < 0 || path[i] > childCount)     return null;
    node=getChild(parent,path[i]);
    if (node != null && (childCount=getChildCount(node)) > 0) {
      parent=node;
    }
 else     if (i != path.length - 1) {
      return null;
    }
  }
  return node;
}

Fixed version (ground truth):
@Override public E getChild(int[] path){
  E parent=getRoot();
  if (path.length == 0)   return parent;
  E node=null;
  int childCount=getChildCount(parent);
  for (int i=0; i < path.length; i++) {
    if (path[i] < 0 || path[i] > childCount)     return null;
    node=getChild(parent,path[i]);
    if (node != null && (childCount=getChildCount(node)) > 0) {
      parent=node;
    }
 else     if (i != path.length - 1) {
      return null;
    }
  }
  return node;
}
Program: 16252
Project: 16252
Buggy source:
public void reloadMessages(Locale locale) throws IOException {
  if (locale == null)   locale=Locales.getCurrent();
  final StringBuffer sb=new StringBuffer(4096);
  final Locale oldl=Locales.setThreadLocal(locale);
  try {
    final Execution exec=Executions.getCurrent();
    sb.append(loadJS(exec,"String_Node_Str"));
    sb.append(Wpds.outLocaleJavaScript());
    sb.append(loadJS(exec,"String_Node_Str"));
  }
  finally {
    Locales.setThreadLocal(oldl);
  }
  Clients.response("String_Node_Str",new AuScript(null,sb.toString()));
}

Fixed version (ground truth):
public void reloadMessages(Locale locale) throws IOException {
  if (locale == null)   locale=Locales.getCurrent();
  final StringBuffer sb=new StringBuffer(4096);
  final Locale oldl=Locales.setThreadLocal(locale);
  try {
    final Execution exec=Executions.getCurrent();
    sb.append(loadJS(exec,"String_Node_Str"));
    sb.append(Wpds.outLocaleJavaScript());
    for (    LanguageDefinition langdef : LanguageDefinition.getByDeviceType(getType()))     for (    MessageLoader loader : langdef.getMessageLoaders())     loader.load(sb,exec);
  }
  finally {
    Locales.setThreadLocal(oldl);
  }
  Clients.response("String_Node_Str",new AuScript(null,sb.toString()));
}
Program: 16253
Project: 16253
Buggy source:
private static String loadJS(Execution exec,String path) throws IOException {
  path=exec.locate(path);
  InputStream is=exec.getDesktop().getWebApp().getResourceAsStream(path);
  if (is == null)   throw new UiException("String_Node_Str" + path);
  final byte[] bs=Files.readAll(is);
  Files.close(is);
  return new String(bs,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Loads the content of a javascript file as a String.
 */
public static String loadJS(Execution exec,String path) throws IOException {
  path=exec.locate(path);
  InputStream is=exec.getDesktop().getWebApp().getResourceAsStream(path);
  if (is == null)   throw new UiException("String_Node_Str" + path);
  final byte[] bs=Files.readAll(is);
  Files.close(is);
  return new String(bs,"String_Node_Str");
}
Program: 16255
Project: 16255
Buggy source:
public void reloadMessages(Locale locale) throws IOException {
  if (locale == null)   locale=Locales.getCurrent();
  final StringBuffer sb=new StringBuffer(4096);
  final Locale oldl=Locales.setThreadLocal(locale);
  try {
    final Execution exec=Executions.getCurrent();
    sb.append(loadJS(exec,"String_Node_Str"));
    sb.append(Wpds.outLocaleJavaScript());
    sb.append(loadJS(exec,"String_Node_Str"));
  }
  finally {
    Locales.setThreadLocal(oldl);
  }
  Clients.response("String_Node_Str",new AuScript(null,sb.toString()));
}

Fixed version (ground truth):
public void reloadMessages(Locale locale) throws IOException {
  if (locale == null)   locale=Locales.getCurrent();
  final StringBuffer sb=new StringBuffer(4096);
  final Locale oldl=Locales.setThreadLocal(locale);
  try {
    final Execution exec=Executions.getCurrent();
    sb.append(loadJS(exec,"String_Node_Str"));
    sb.append(Wpds.outLocaleJavaScript());
    for (Iterator it=LanguageDefinition.getByDeviceType(getType()).iterator(); it.hasNext(); ) {
      final LanguageDefinition langdef=(LanguageDefinition)it.next();
      for (Iterator mit=langdef.getMessageLoaders().iterator(); mit.hasNext(); )       ((MessageLoader)mit.next()).load(sb,exec);
    }
  }
  finally {
    Locales.setThreadLocal(oldl);
  }
  Clients.response("String_Node_Str",new AuScript(null,sb.toString()));
}
Program: 16256
Project: 16256
Buggy source:
private static String loadJS(Execution exec,String path) throws IOException {
  path=exec.locate(path);
  InputStream is=exec.getDesktop().getWebApp().getResourceAsStream(path);
  if (is == null)   throw new UiException("String_Node_Str" + path);
  final byte[] bs=Files.readAll(is);
  Files.close(is);
  return new String(bs,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Loads the content of a javascript file as a String.
 */
public static String loadJS(Execution exec,String path) throws IOException {
  path=exec.locate(path);
  InputStream is=exec.getDesktop().getWebApp().getResourceAsStream(path);
  if (is == null)   throw new UiException("String_Node_Str" + path);
  final byte[] bs=Files.readAll(is);
  Files.close(is);
  return new String(bs,"String_Node_Str");
}
Program: 16258
Project: 16258
Buggy source:
private synchronized void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  readSelection(s);
  _listeners=new ArrayList<ListDataListener>();
  Serializables.smartRead(s,_listeners);
}

Fixed version (ground truth):
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  readSelection(s);
  _listeners=new ArrayList<ListDataListener>();
  Serializables.smartRead(s,_listeners);
}
Program: 16259
Project: 16259
Buggy source:
private synchronized void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  @SuppressWarnings("String_Node_Str") Set selection=_selection;
  _selection=newEmptySelection();
  for (  final Object key : selection) {
    if (_map.containsKey(key))     for (    Map.Entry<K,V> entry : _map.entrySet())     if (Objects.equals(key,entry.getKey()))     _selection.add(entry);
  }
}

Fixed version (ground truth):
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  @SuppressWarnings("String_Node_Str") Set selection=_selection;
  _selection=newEmptySelection();
  for (  final Object key : selection) {
    if (_map.containsKey(key))     for (    Map.Entry<K,V> entry : _map.entrySet())     if (Objects.equals(key,entry.getKey()))     _selection.add(entry);
  }
}
Program: 16260
Project: 16260
Buggy source:
@Override protected void readSelection(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  _selection=newEmptySelection();
  int size=s.readInt();
  while (--size >= 0) {
    final Object key=s.readObject();
    if (_map.containsKey(key))     for (    Map.Entry<K,V> entry : _map.entrySet())     if (Objects.equals(key,entry.getKey()))     _selection.add(entry);
  }
}

Fixed version (ground truth):
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) @Override protected void readSelection(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  _selection=newEmptySelection();
  int size=s.readInt();
  while (--size >= 0) {
    ((Set)_selection).add(s.readObject());
  }
}
Program: 16261
Project: 16261
Buggy source:
@SuppressWarnings("String_Node_Str") public Object coerceToUi(Object val,Component comp,BindContext ctx){
  Listbox lbx=(Listbox)comp;
  final ListModel<?> model=lbx.getModel();
  if (model != null && !(model instanceof Selectable)) {
    throw new UiException("String_Node_Str");
  }
  final Set<Listitem> items=new LinkedHashSet<Listitem>();
  Set<Object> vals=val == null ? null : (Set<Object>)Classes.coerce(LinkedHashSet.class,val);
  if (vals != null && vals.size() > 0) {
    if (model != null) {
      for (      Object obj : vals) {
        ((Selectable<Object>)model).addToSelection(obj);
      }
    }
 else {
      for (final Iterator<?> it=lbx.getItems().iterator(); it.hasNext(); ) {
        final Listitem li=(Listitem)it.next();
        Object bean=li.getValue();
        if (vals.contains(bean)) {
          items.add(li);
        }
      }
    }
  }
  return model == null ? items : LoadPropertyBinding.LOAD_IGNORED;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public Object coerceToUi(Object val,Component comp,BindContext ctx){
  Listbox lbx=(Listbox)comp;
  final ListModel<?> model=lbx.getModel();
  if (model != null && !(model instanceof Selectable)) {
    throw new UiException("String_Node_Str");
  }
  if (model != null) {
    ((Selectable<?>)model).clearSelection();
  }
  final Set<Listitem> items=new LinkedHashSet<Listitem>();
  Set<Object> vals=val == null ? null : (Set<Object>)Classes.coerce(LinkedHashSet.class,val);
  if (vals != null && vals.size() > 0) {
    if (model != null) {
      for (      Object obj : vals) {
        ((Selectable<Object>)model).addToSelection(obj);
      }
    }
 else {
      for (final Iterator<?> it=lbx.getItems().iterator(); it.hasNext(); ) {
        final Listitem li=(Listitem)it.next();
        Object bean=li.getValue();
        if (vals.contains(bean)) {
          items.add(li);
        }
      }
    }
  }
  return model == null ? items : LoadPropertyBinding.LOAD_IGNORED;
}
Program: 16262
Project: 16262
Buggy source:
@SuppressWarnings("String_Node_Str") public Object clone(){
  final AbstractListModel clone;
  try {
    clone=(AbstractListModel)super.clone();
  }
 catch (  CloneNotSupportedException e) {
    throw new InternalError();
  }
  clone._listeners=new LinkedList<ListDataListener>();
  clone._selection.clear();
  clone._selection.addAll(_selection);
  return clone;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public Object clone(){
  final AbstractListModel clone;
  try {
    clone=(AbstractListModel)super.clone();
  }
 catch (  CloneNotSupportedException e) {
    throw new InternalError();
  }
  clone._listeners=new LinkedList<ListDataListener>();
  clone._selection=clone.newEmptySelection();
  clone._selection.addAll(_selection);
  return clone;
}
Program: 16263
Project: 16263
Buggy source:
private static String resolveName(String name){
  return name != null && name.charAt(0) == '/' ? name.substring(1) : name;
}

Fixed version (ground truth):
private static String resolveName(String name){
  return name != null && name.startsWith("String_Node_Str") ? name.substring(1) : name;
}
Program: 16264
Project: 16264
Buggy source:
/** 
 * Parse config.xml. 
 */
private static void parseConfig(Map<String,URL> urls,Element root,Locator loc){
  for (Iterator it=root.getElements("String_Node_Str").iterator(); it.hasNext(); ) {
    final Element el=(Element)it.next();
    final String s=IDOMs.getRequiredElementValue(el,"String_Node_Str");
    final URL url=loc.getResource(s.charAt(0) == '/' ? s.substring(1) : s);
    if (url != null) {
      urls.put(IDOMs.getRequiredElementValue(el,"String_Node_Str"),url);
    }
 else {
      log.error(s + "String_Node_Str" + el.getLocator());
    }
  }
}

Fixed version (ground truth):
/** 
 * Parse config.xml. 
 */
private static void parseConfig(Map<String,URL> urls,Element root,Locator loc){
  for (Iterator it=root.getElements("String_Node_Str").iterator(); it.hasNext(); ) {
    final Element el=(Element)it.next();
    final String s=IDOMs.getRequiredElementValue(el,"String_Node_Str");
    final URL url=loc.getResource(s.startsWith("String_Node_Str") ? s.substring(1) : s);
    if (url != null) {
      urls.put(IDOMs.getRequiredElementValue(el,"String_Node_Str"),url);
    }
 else {
      log.error(s + "String_Node_Str" + el.getLocator());
    }
  }
}
Program: 16265
Project: 16265
Buggy source:
/** 
 * Returns the options, a combination of   {@link #BUSY_IGNORE},  {@link #DUPLICATE_IGNORE} and {@link #REPEAT_IGNORE}.
 * @since 5.0.0
 */
public int getOptions(){
  if (_opts == null) {
    if (_comp != null)     _opts=(Integer)((ComponentCtrl)_comp).getClientEvents().get(_cmd);
    if (_opts == null)     _opts=new Integer(0);
  }
  return _opts.intValue();
}

Fixed version (ground truth):
/** 
 * Returns the options, a combination of   {@link #BUSY_IGNORE},  {@link #DUPLICATE_IGNORE} and {@link #REPEAT_IGNORE}.
 * @since 5.0.0
 */
public int getOptions(){
  if (_opts == null) {
    if (_comp != null)     _opts=((ComponentCtrl)_comp).getClientEvents().get(_cmd);
    if (_opts == null)     _opts=new Integer(0);
  }
  return _opts.intValue();
}
Program: 16267
Project: 16267
Buggy source:
/** 
 * Returns the AU extension associated with the specified prefix, or null if no AU extension associated.
 * @since 5.0.0
 */
public AuExtension getAuExtension(String prefix){
  return (AuExtension)_aues.get(prefix);
}

Fixed version (ground truth):
/** 
 * Returns the AU extension associated with the specified prefix, or null if no AU extension associated.
 * @since 5.0.0
 */
public AuExtension getAuExtension(String prefix){
  return _aues.get(prefix);
}
Program: 16269
Project: 16269
Buggy source:
/** 
 * @param wapp the Web application (or null if not available yet)
 */
private void sessionTimeout(HttpServletRequest request,HttpServletResponse response,WebApp wapp,String dtid) throws ServletException, IOException {
  final String sid=request.getHeader("String_Node_Str");
  if (sid != null)   response.setHeader("String_Node_Str",sid);
  final AuWriter out=AuWriters.newInstance().open(request,response);
  if (!getAuDecoder(wapp).isIgnorable(request,wapp)) {
    final String deviceType=getDeviceType(request);
    URIInfo ui=wapp != null ? (URIInfo)wapp.getConfiguration().getTimeoutURI(deviceType) : null;
    String uri=ui != null ? ui.uri : null;
    out.write(new AuConfirmClose(null));
    final AuResponse resp;
    if (uri != null) {
      if (uri.length() != 0)       uri=Encodes.encodeURL(getServletContext(),request,response,uri);
      resp=new AuSendRedirect(uri,null);
    }
 else {
      String msg=wapp.getConfiguration().getTimeoutMessage(deviceType);
      if (msg != null && msg.startsWith("String_Node_Str")) {
        final String key;
        msg=Labels.getLabel(key=msg.substring(6),new Object[]{dtid});
        if (msg == null)         log.warning("String_Node_Str" + key);
      }
      if (msg == null)       msg=Messages.get(MZk.UPDATE_OBSOLETE_PAGE,dtid);
      resp=new AuObsolete(dtid,msg);
    }
    out.write(resp);
  }
  out.close(request,response);
}

Fixed version (ground truth):
/** 
 * @param wapp the Web application (or null if not available yet)
 */
private void sessionTimeout(HttpServletRequest request,HttpServletResponse response,WebApp wapp,String dtid) throws ServletException, IOException {
  final String sid=request.getHeader("String_Node_Str");
  if (sid != null)   response.setHeader("String_Node_Str",sid);
  final AuWriter out=AuWriters.newInstance().open(request,response);
  if (!getAuDecoder(wapp).isIgnorable(request,wapp)) {
    final String deviceType=getDeviceType(request);
    URIInfo ui=wapp != null ? wapp.getConfiguration().getTimeoutURI(deviceType) : null;
    String uri=ui != null ? ui.uri : null;
    out.write(new AuConfirmClose(null));
    final AuResponse resp;
    if (uri != null) {
      if (uri.length() != 0)       uri=Encodes.encodeURL(getServletContext(),request,response,uri);
      resp=new AuSendRedirect(uri,null);
    }
 else {
      String msg=wapp.getConfiguration().getTimeoutMessage(deviceType);
      if (msg != null && msg.startsWith("String_Node_Str")) {
        final String key;
        msg=Labels.getLabel(key=msg.substring(6),new Object[]{dtid});
        if (msg == null)         log.warning("String_Node_Str" + key);
      }
      if (msg == null)       msg=Messages.get(MZk.UPDATE_OBSOLETE_PAGE,dtid);
      resp=new AuObsolete(dtid,msg);
    }
    out.write(resp);
  }
  out.close(request,response);
}
Program: 16271
Project: 16271
Buggy source:
private static final Object[] toData(Component comp,String function,Object[] args){
  final Object[] data=new Object[2 + (args != null ? args.length : 0)];
  data[0]=comp;
  data[1]=function;
  for (int j=2; j < data.length; ++j)   data[j]=args[j - 2];
  return data;
}

Fixed version (ground truth):
private static final Object[] toData(Component comp,String function,Object[] args){
  final Object[] data=new Object[2 + (args != null ? args.length : 0)];
  data[0]=comp;
  data[1]=function;
  if (args != null)   System.arraycopy(args,0,data,2,args.length);
  return data;
}
Program: 16272
Project: 16272
Buggy source:
public void idSpaceChanged(Scope scope,IdSpace newIdSpace){
  if (newIdSpace instanceof Scope) {
    final BSHInterpreter ip=getInterpreter(_bshns._scope);
    _bshns.setParent(ip != null ? ip.prepareNS((Scope)newIdSpace) : prepareDetachedNS((Scope)newIdSpace));
    return;
  }
  _bshns.setParent(null);
}

Fixed version (ground truth):
public void idSpaceChanged(Scope scope,IdSpace newIdSpace){
  if (newIdSpace instanceof Scope) {
    final BSHInterpreter ip=getInterpreter(_bshns._scope);
    _bshns.setParent(ip != null ? ip.prepareNS(newIdSpace) : prepareDetachedNS(newIdSpace));
    return;
  }
  _bshns.setParent(null);
}
Program: 16273
Project: 16273
Buggy source:
private synchronized void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  if (_children instanceof ChildArray)   ((ChildArray)_children).afterUnmarshal();
}

Fixed version (ground truth):
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
  s.defaultReadObject();
  if (_children instanceof ChildArray)   ((ChildArray)_children).afterUnmarshal();
}