Program: 85153
Project: 85153
Buggy source:
private String createAdaptiveExtensionClassCode(){
  StringBuilder codeBuidler=new StringBuilder();
  Method[] methods=type.getMethods();
  boolean hasAdaptiveAnnotation=false;
  for (  Method m : methods) {
    if (m.isAnnotationPresent(Adaptive.class)) {
      hasAdaptiveAnnotation=true;
      break;
    }
  }
  if (!hasAdaptiveAnnotation)   throw new IllegalStateException("String_Node_Str" + type.getName() + "String_Node_Str");
  codeBuidler.append("String_Node_Str" + type.getPackage().getName() + "String_Node_Str");
  codeBuidler.append("String_Node_Str" + ExtensionLoader.class.getPackage().getName() + "String_Node_Str");
  codeBuidler.append("String_Node_Str" + type.getSimpleName() + "String_Node_Str"+ "String_Node_Str"+ type.getCanonicalName()+ "String_Node_Str");
  for (  Method method : methods) {
    Class<?> rt=method.getReturnType();
    Class<?>[] pts=method.getParameterTypes();
    Class<?>[] ets=method.getExceptionTypes();
    Adaptive adaptiveAnnotation=method.getAnnotation(Adaptive.class);
    StringBuilder code=new StringBuilder(512);
    if (adaptiveAnnotation == null) {
      code.append("String_Node_Str").append(method.toString()).append("String_Node_Str").append(type.getName()).append("String_Node_Str");
    }
 else {
      int urlTypeIndex=-1;
      for (int i=0; i < pts.length; ++i) {
        if (pts[i].equals(URL.class)) {
          urlTypeIndex=i;
          break;
        }
      }
      if (urlTypeIndex != -1) {
        String s=String.format("String_Node_Str",urlTypeIndex);
        code.append(s);
        s=String.format("String_Node_Str",URL.class.getName(),urlTypeIndex);
        code.append(s);
      }
 else {
        String attribMethod=null;
        LBL_PTS:         for (int i=0; i < pts.length; ++i) {
          Method[] ms=pts[i].getMethods();
          for (          Method m : ms) {
            String name=m.getName();
            if ((name.startsWith("String_Node_Str") || name.length() > 3) && Modifier.isPublic(m.getModifiers()) && !Modifier.isStatic(m.getModifiers())&& m.getParameterTypes().length == 0 && m.getReturnType() == URL.class) {
              urlTypeIndex=i;
              attribMethod=name;
              break LBL_PTS;
            }
          }
        }
        if (attribMethod == null) {
          throw new IllegalStateException("String_Node_Str" + type.getName() + "String_Node_Str"+ method.getName());
        }
        String s=String.format("String_Node_Str",urlTypeIndex,pts[urlTypeIndex].getName());
        code.append(s);
        s=String.format("String_Node_Str",urlTypeIndex,attribMethod,pts[urlTypeIndex].getName(),attribMethod);
        code.append(s);
        s=String.format("String_Node_Str",URL.class.getName(),urlTypeIndex,attribMethod);
        code.append(s);
      }
      String[] value=adaptiveAnnotation.value();
      if (value.length == 0) {
        char[] charArray=type.getSimpleName().toCharArray();
        StringBuilder sb=new StringBuilder(128);
        for (int i=0; i < charArray.length; i++) {
          if (Character.isUpperCase(charArray[i])) {
            if (i != 0) {
              sb.append("String_Node_Str");
            }
            sb.append(Character.toLowerCase(charArray[i]));
          }
 else {
            sb.append(charArray[i]);
          }
        }
        value=new String[]{sb.toString()};
      }
      boolean hasInvocation=false;
      for (int i=0; i < pts.length; ++i) {
        if (pts[i].getName().equals("String_Node_Str")) {
          String s=String.format("String_Node_Str",i);
          code.append(s);
          s=String.format("String_Node_Str",i);
          code.append(s);
          hasInvocation=true;
          break;
        }
      }
      String defaultExtName=cachedDefaultName;
      String getNameCode=null;
      for (int i=value.length - 1; i >= 0; --i) {
        if (i == value.length - 1) {
          if (null != defaultExtName) {
            if (!"String_Node_Str".equals(value[i]))             if (hasInvocation)             getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else             getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else             getNameCode=String.format("String_Node_Str",defaultExtName);
          }
 else {
            if (!"String_Node_Str".equals(value[i]))             if (hasInvocation)             getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else             getNameCode=String.format("String_Node_Str",value[i]);
 else             getNameCode="String_Node_Str";
          }
        }
 else {
          if (!"String_Node_Str".equals(value[i]))           if (hasInvocation)           getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else           getNameCode=String.format("String_Node_Str",value[i],getNameCode);
 else           getNameCode=String.format("String_Node_Str",getNameCode);
        }
      }
      code.append("String_Node_Str").append(getNameCode).append("String_Node_Str");
      String s=String.format("String_Node_Str" + "String_Node_Str",type.getName(),Arrays.toString(value));
      code.append(s);
      s=String.format("String_Node_Str",type.getName(),ExtensionLoader.class.getSimpleName(),type.getName());
      code.append(s);
      if (!rt.equals(void.class)) {
        code.append("String_Node_Str");
      }
      s=String.format("String_Node_Str",method.getName());
      code.append(s);
      for (int i=0; i < pts.length; i++) {
        if (i != 0)         code.append("String_Node_Str");
        code.append("String_Node_Str").append(i);
      }
      code.append("String_Node_Str");
    }
    codeBuidler.append("String_Node_Str" + rt.getCanonicalName() + "String_Node_Str"+ method.getName()+ "String_Node_Str");
    for (int i=0; i < pts.length; i++) {
      if (i > 0) {
        codeBuidler.append("String_Node_Str");
      }
      codeBuidler.append(pts[i].getCanonicalName());
      codeBuidler.append("String_Node_Str");
      codeBuidler.append("String_Node_Str" + i);
    }
    codeBuidler.append("String_Node_Str");
    if (ets.length > 0) {
      codeBuidler.append("String_Node_Str");
      for (int i=0; i < ets.length; i++) {
        if (i > 0) {
          codeBuidler.append("String_Node_Str");
        }
        codeBuidler.append(pts[i].getCanonicalName());
      }
    }
    codeBuidler.append("String_Node_Str");
    codeBuidler.append(code.toString());
    codeBuidler.append("String_Node_Str");
  }
  codeBuidler.append("String_Node_Str");
  if (logger.isDebugEnabled()) {
    logger.debug(codeBuidler.toString());
  }
  return codeBuidler.toString();
}

Fixed version (ground truth):
private String createAdaptiveExtensionClassCode(){
  StringBuilder codeBuidler=new StringBuilder();
  Method[] methods=type.getMethods();
  boolean hasAdaptiveAnnotation=false;
  for (  Method m : methods) {
    if (m.isAnnotationPresent(Adaptive.class)) {
      hasAdaptiveAnnotation=true;
      break;
    }
  }
  if (!hasAdaptiveAnnotation)   throw new IllegalStateException("String_Node_Str" + type.getName() + "String_Node_Str");
  codeBuidler.append("String_Node_Str" + type.getPackage().getName() + "String_Node_Str");
  codeBuidler.append("String_Node_Str" + ExtensionLoader.class.getName() + "String_Node_Str");
  codeBuidler.append("String_Node_Str" + type.getSimpleName() + "String_Node_Str"+ "String_Node_Str"+ type.getCanonicalName()+ "String_Node_Str");
  for (  Method method : methods) {
    Class<?> rt=method.getReturnType();
    Class<?>[] pts=method.getParameterTypes();
    Class<?>[] ets=method.getExceptionTypes();
    Adaptive adaptiveAnnotation=method.getAnnotation(Adaptive.class);
    StringBuilder code=new StringBuilder(512);
    if (adaptiveAnnotation == null) {
      code.append("String_Node_Str").append(method.toString()).append("String_Node_Str").append(type.getName()).append("String_Node_Str");
    }
 else {
      int urlTypeIndex=-1;
      for (int i=0; i < pts.length; ++i) {
        if (pts[i].equals(URL.class)) {
          urlTypeIndex=i;
          break;
        }
      }
      if (urlTypeIndex != -1) {
        String s=String.format("String_Node_Str",urlTypeIndex);
        code.append(s);
        s=String.format("String_Node_Str",URL.class.getName(),urlTypeIndex);
        code.append(s);
      }
 else {
        String attribMethod=null;
        LBL_PTS:         for (int i=0; i < pts.length; ++i) {
          Method[] ms=pts[i].getMethods();
          for (          Method m : ms) {
            String name=m.getName();
            if ((name.startsWith("String_Node_Str") || name.length() > 3) && Modifier.isPublic(m.getModifiers()) && !Modifier.isStatic(m.getModifiers())&& m.getParameterTypes().length == 0 && m.getReturnType() == URL.class) {
              urlTypeIndex=i;
              attribMethod=name;
              break LBL_PTS;
            }
          }
        }
        if (attribMethod == null) {
          throw new IllegalStateException("String_Node_Str" + type.getName() + "String_Node_Str"+ method.getName());
        }
        String s=String.format("String_Node_Str",urlTypeIndex,pts[urlTypeIndex].getName());
        code.append(s);
        s=String.format("String_Node_Str",urlTypeIndex,attribMethod,pts[urlTypeIndex].getName(),attribMethod);
        code.append(s);
        s=String.format("String_Node_Str",URL.class.getName(),urlTypeIndex,attribMethod);
        code.append(s);
      }
      String[] value=adaptiveAnnotation.value();
      if (value.length == 0) {
        char[] charArray=type.getSimpleName().toCharArray();
        StringBuilder sb=new StringBuilder(128);
        for (int i=0; i < charArray.length; i++) {
          if (Character.isUpperCase(charArray[i])) {
            if (i != 0) {
              sb.append("String_Node_Str");
            }
            sb.append(Character.toLowerCase(charArray[i]));
          }
 else {
            sb.append(charArray[i]);
          }
        }
        value=new String[]{sb.toString()};
      }
      boolean hasInvocation=false;
      for (int i=0; i < pts.length; ++i) {
        if (pts[i].getName().equals("String_Node_Str")) {
          String s=String.format("String_Node_Str",i);
          code.append(s);
          s=String.format("String_Node_Str",i);
          code.append(s);
          hasInvocation=true;
          break;
        }
      }
      String defaultExtName=cachedDefaultName;
      String getNameCode=null;
      for (int i=value.length - 1; i >= 0; --i) {
        if (i == value.length - 1) {
          if (null != defaultExtName) {
            if (!"String_Node_Str".equals(value[i]))             if (hasInvocation)             getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else             getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else             getNameCode=String.format("String_Node_Str",defaultExtName);
          }
 else {
            if (!"String_Node_Str".equals(value[i]))             if (hasInvocation)             getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else             getNameCode=String.format("String_Node_Str",value[i]);
 else             getNameCode="String_Node_Str";
          }
        }
 else {
          if (!"String_Node_Str".equals(value[i]))           if (hasInvocation)           getNameCode=String.format("String_Node_Str",value[i],defaultExtName);
 else           getNameCode=String.format("String_Node_Str",value[i],getNameCode);
 else           getNameCode=String.format("String_Node_Str",getNameCode);
        }
      }
      code.append("String_Node_Str").append(getNameCode).append("String_Node_Str");
      String s=String.format("String_Node_Str" + "String_Node_Str",type.getName(),Arrays.toString(value));
      code.append(s);
      s=String.format("String_Node_Str",type.getName(),ExtensionLoader.class.getSimpleName(),type.getName());
      code.append(s);
      if (!rt.equals(void.class)) {
        code.append("String_Node_Str");
      }
      s=String.format("String_Node_Str",method.getName());
      code.append(s);
      for (int i=0; i < pts.length; i++) {
        if (i != 0)         code.append("String_Node_Str");
        code.append("String_Node_Str").append(i);
      }
      code.append("String_Node_Str");
    }
    codeBuidler.append("String_Node_Str" + rt.getCanonicalName() + "String_Node_Str"+ method.getName()+ "String_Node_Str");
    for (int i=0; i < pts.length; i++) {
      if (i > 0) {
        codeBuidler.append("String_Node_Str");
      }
      codeBuidler.append(pts[i].getCanonicalName());
      codeBuidler.append("String_Node_Str");
      codeBuidler.append("String_Node_Str" + i);
    }
    codeBuidler.append("String_Node_Str");
    if (ets.length > 0) {
      codeBuidler.append("String_Node_Str");
      for (int i=0; i < ets.length; i++) {
        if (i > 0) {
          codeBuidler.append("String_Node_Str");
        }
        codeBuidler.append(pts[i].getCanonicalName());
      }
    }
    codeBuidler.append("String_Node_Str");
    codeBuidler.append(code.toString());
    codeBuidler.append("String_Node_Str");
  }
  codeBuidler.append("String_Node_Str");
  if (logger.isDebugEnabled()) {
    logger.debug(codeBuidler.toString());
  }
  return codeBuidler.toString();
}