Program: 80863
Project: 80863
Buggy source:
public boolean add(List<ViewMaker> makers,Class<?> moduleType){
  Ok myOk=moduleType.getAnnotation(Ok.class);
  if (null == myOk)   myOk=ok;
  Fail myFail=moduleType.getAnnotation(Fail.class);
  if (null == myFail)   myFail=fail;
  AdaptBy myAb=moduleType.getAnnotation(AdaptBy.class);
  if (null == myAb)   myAb=adaptBy;
  Filters myFlts=moduleType.getAnnotation(Filters.class);
  if (null == myFlts)   myFlts=filters;
  Encoding myEncoding=moduleType.getAnnotation(Encoding.class);
  if (null == myEncoding)   myEncoding=encoding;
  At baseAt=moduleType.getAnnotation(At.class);
  String[] bases;
  if (null == baseAt)   bases=Lang.array("String_Node_Str");
 else   if (null == baseAt.value() || baseAt.value().length == 0)   bases=Lang.array("String_Node_Str" + moduleType.getSimpleName().toLowerCase());
 else   bases=baseAt.value();
  boolean isModule=false;
  for (  Method method : moduleType.getMethods()) {
    if (!Modifier.isPublic(method.getModifiers()) || !method.isAnnotationPresent(At.class))     continue;
    At ats=method.getAnnotation(At.class);
    isModule=true;
    ActionInvoker invoker=new ActionInvokerImpl(context,ioc,makers,moduleType,method,myOk,myFail,myAb,myFlts,myEncoding);
    if (log.isDebugEnabled())     log.debugf("String_Node_Str",method.getName(),Lang.concat(ats.value()));
    for (    String base : bases) {
      String[] paths=ats.value();
      if ((paths.length == 1 && Strings.isBlank(paths[0])) || paths.length == 0) {
        root.add(base + "String_Node_Str" + method.getName().toLowerCase(),invoker);
      }
 else {
        for (        String at : paths)         root.add(base + at,invoker);
      }
    }
  }
  return isModule;
}

Fixed version (ground truth):
public boolean add(List<ViewMaker> makers,Class<?> moduleType){
  Ok myOk=moduleType.getAnnotation(Ok.class);
  if (null == myOk)   myOk=ok;
  Fail myFail=moduleType.getAnnotation(Fail.class);
  if (null == myFail)   myFail=fail;
  AdaptBy myAb=moduleType.getAnnotation(AdaptBy.class);
  if (null == myAb)   myAb=adaptBy;
  Filters myFlts=moduleType.getAnnotation(Filters.class);
  if (null == myFlts)   myFlts=filters;
  Encoding myEncoding=moduleType.getAnnotation(Encoding.class);
  if (null == myEncoding)   myEncoding=encoding;
  At baseAt=moduleType.getAnnotation(At.class);
  String[] bases;
  if (null == baseAt)   bases=Lang.array("String_Node_Str");
 else   if (null == baseAt.value() || baseAt.value().length == 0)   bases=Lang.array("String_Node_Str" + moduleType.getSimpleName().toLowerCase());
 else   bases=baseAt.value();
  boolean isModule=false;
  for (  Method method : moduleType.getMethods()) {
    if (!Modifier.isPublic(method.getModifiers()) || !method.isAnnotationPresent(At.class))     continue;
    At ats=method.getAnnotation(At.class);
    isModule=true;
    ActionInvoker invoker=new ActionInvokerImpl(context,ioc,makers,moduleType,method,myOk,myFail,myAb,myFlts,myEncoding);
    for (    String base : bases) {
      String[] paths=ats.value();
      if ((paths.length == 1 && Strings.isBlank(paths[0])) || paths.length == 0) {
        String actionPath=base + "String_Node_Str" + method.getName().toLowerCase();
        root.add(actionPath,invoker);
        if (log.isDebugEnabled())         log.debugf("String_Node_Str",method.getName(),actionPath);
      }
 else {
        for (        String at : paths) {
          String actionPath=base + at;
          root.add(actionPath,invoker);
          if (log.isDebugEnabled())           log.debugf("String_Node_Str",method.getName(),actionPath);
        }
      }
    }
  }
  return isModule;
}