Program: 59825
Project: 59825
Buggy source:
/** 
 * Obtain the effective configuration of this ConfigurationBuilderImpl instance. This consists of string-string pairs that could be written directly to a Properties file, for example. Currently, this method does not return information about default parameter values that were specified by parameter annotations, or about the auto-discovered stuff in TypeHierarchy. All of that should be automatically imported as these keys are parsed on the other end.
 * @return A string containing enough information to rebuild thisconfiguration object (assuming the same classes / jars are available when the string is parsed by Tang).
 */
@Override public String toConfigurationString(){
  StringBuilder s=new StringBuilder();
  if (dirtyBit) {
    throw new IllegalStateException("String_Node_Str");
  }
  for (  Class<?> opt : namespace.getRegisteredClasses()) {
    try {
      Node n=namespace.getNode(opt);
      if (n instanceof NamedParameterNode) {
        s.append(n.getFullName() + "String_Node_Str" + REGISTERED+ "String_Node_Str");
      }
    }
 catch (    NameResolutionException e) {
      throw new IllegalStateException("String_Node_Str",e);
    }
  }
  for (  Node opt : boundImpls.keySet()) {
    s.append(opt.getFullName() + "String_Node_Str" + boundImpls.get(opt).getName()+ "String_Node_Str");
  }
  for (  Node opt : boundConstructors.keySet()) {
    s.append(opt.getFullName() + "String_Node_Str" + boundConstructors.get(opt).getName()+ "String_Node_Str");
  }
  for (  Node opt : namedParameters.keySet()) {
    s.append(opt.getFullName() + "String_Node_Str" + namedParameters.get(opt)+ "String_Node_Str");
  }
  for (  Node opt : singletons) {
    s.append(opt.getFullName() + "String_Node_Str" + SINGLETON+ "String_Node_Str");
  }
  return s.toString();
}

Fixed version (ground truth):
/** 
 * Obtain the effective configuration of this ConfigurationBuilderImpl instance. This consists of string-string pairs that could be written directly to a Properties file, for example. Currently, this method does not return information about default parameter values that were specified by parameter annotations, or about the auto-discovered stuff in TypeHierarchy. All of that should be automatically imported as these keys are parsed on the other end.
 * @return A string containing enough information to rebuild thisconfiguration object (assuming the same classes / jars are available when the string is parsed by Tang).
 */
@Override public String toConfigurationString(){
  StringBuilder s=new StringBuilder();
  if (dirtyBit) {
    throw new IllegalStateException("String_Node_Str");
  }
  for (  Class<?> opt : namespace.getRegisteredClasses()) {
    try {
      Node n=namespace.getNode(opt);
      if (n instanceof NamedParameterNode) {
        s.append(n.getFullName() + "String_Node_Str" + REGISTERED+ "String_Node_Str");
      }
    }
 catch (    NameResolutionException e) {
      throw new IllegalStateException("String_Node_Str",e);
    }
  }
  for (  Node opt : boundImpls.keySet()) {
    s.append(opt.getFullName() + "String_Node_Str" + boundImpls.get(opt).getName()+ "String_Node_Str");
  }
  for (  Node opt : boundConstructors.keySet()) {
    s.append(opt.getFullName() + "String_Node_Str" + boundConstructors.get(opt).getName()+ "String_Node_Str");
  }
  for (  Node opt : namedParameters.keySet()) {
    s.append(opt.getFullName() + "String_Node_Str" + namedParameters.get(opt)+ "String_Node_Str");
  }
  for (  Node opt : singletons) {
    s.append(opt.getFullName() + "String_Node_Str" + SINGLETON+ "String_Node_Str");
  }
  for (  ClassNode<?> cn : legacyConstructors.keySet()) {
    s.append(cn.getFullName() + "String_Node_Str" + INIT+ "String_Node_Str"+ join("String_Node_Str",legacyConstructors.get(cn).constructor.getParameterTypes())+ "String_Node_Str");
  }
  return s.toString();
}