Program: 16239
Project: 16239
Buggy source:
private void tieValue(ELContext elCtx,Object base,Object propName,Object value,boolean allownotify,ReferenceBinding refBinding){
  final BindELContext ctx=(BindELContext)((EvaluationContext)elCtx).getELContext();
  if (ctx.ignoreTracker())   return;
  final Binding binding=ctx.getBinding();
  if (binding != null) {
    final int nums=((Integer)ctx.getContext(Integer.class)).intValue();
    final Path path=getPathList(ctx);
    String script=null;
    if (base instanceof Form) {
      if (nums > 0) {
        return;
      }
 else {
        script=path.getTrackFieldName();
      }
    }
 else {
      script=path.getTrackProperty();
    }
    final Binder binder=binding.getBinder();
    final BindContext bctx=(BindContext)ctx.getAttribute(BinderImpl.BINDCTX);
    final Component ctxcomp=bctx != null ? bctx.getComponent() : binding.getComponent();
    final Object old=ctxcomp.setAttribute(BinderImpl.REF_BINDING,refBinding);
    try {
      ((BinderCtrl)binder).getTracker().tieValue(ctxcomp,base,script,propName,value);
    }
  finally {
      ctxcomp.setAttribute(BinderImpl.REF_BINDING,old);
    }
    if (base != null) {
      if (binding instanceof SaveBinding) {
        if (nums == 0) {
          saveEqualBeans(elCtx,base,(String)propName,value);
          if (allownotify) {
            if (base instanceof Form) {
              BindELContext.addNotifys(base,(String)propName,value,bctx);
              if (base instanceof FormExt)               BindELContext.addNotifys(((FormExt)base).getStatus(),"String_Node_Str",null,bctx);
            }
 else {
              final Method m=(Method)ctx.getContext(Method.class);
              BindELContext.addNotifys(m,base,(String)propName,value,bctx);
            }
          }
        }
      }
 else       if (!(base instanceof Form) && binding instanceof LoadBinding) {
        final Method m=(Method)ctx.getContext(Method.class);
        if (m != null) {
          final boolean prompt=bctx != null && bctx.getCommandName() == null;
          if (prompt) {
            if (!(binding instanceof LoadFormBindingImpl) || ((LoadFormBindingImpl)binding).getSeriesLength() <= path.size()) {
              BindELContext.addDependsOnTrackings(m,path.getTrackBasePath(),path.getTrackFieldsList(),binding,bctx);
            }
          }
        }
      }
    }
  }
}

Fixed version (ground truth):
private void tieValue(ELContext elCtx,Object base,Object propName,Object value,boolean allownotify){
  final BindELContext ctx=(BindELContext)((EvaluationContext)elCtx).getELContext();
  if (ctx.ignoreTracker())   return;
  final Binding binding=ctx.getBinding();
  if (binding != null) {
    final int nums=((Integer)ctx.getContext(Integer.class)).intValue();
    final Path path=getPathList(ctx);
    String script=null;
    if (base instanceof Form) {
      if (nums > 0) {
        return;
      }
 else {
        script=path.getTrackFieldName();
      }
    }
 else {
      script=path.getTrackProperty();
    }
    final Binder binder=binding.getBinder();
    final BindContext bctx=(BindContext)ctx.getAttribute(BinderImpl.BINDCTX);
    final Component ctxcomp=bctx != null ? bctx.getComponent() : binding.getComponent();
    ((BinderCtrl)binder).getTracker().tieValue(ctxcomp,base,script,propName,value);
    if (base != null) {
      if (binding instanceof SaveBinding) {
        if (nums == 0) {
          saveEqualBeans(elCtx,base,(String)propName,value);
          if (allownotify) {
            if (base instanceof Form) {
              BindELContext.addNotifys(base,(String)propName,value,bctx);
              if (base instanceof FormExt)               BindELContext.addNotifys(((FormExt)base).getStatus(),"String_Node_Str",null,bctx);
            }
 else {
              final Method m=(Method)ctx.getContext(Method.class);
              BindELContext.addNotifys(m,base,(String)propName,value,bctx);
            }
          }
        }
      }
 else       if (!(base instanceof Form) && binding instanceof LoadBinding) {
        final Method m=(Method)ctx.getContext(Method.class);
        if (m != null) {
          final boolean prompt=bctx != null && bctx.getCommandName() == null;
          if (prompt) {
            if (!(binding instanceof LoadFormBindingImpl) || ((LoadFormBindingImpl)binding).getSeriesLength() <= path.size()) {
              BindELContext.addDependsOnTrackings(m,path.getTrackBasePath(),path.getTrackFieldsList(),binding,bctx);
            }
          }
        }
      }
    }
  }
}