Program: 43689
Project: 43689
Buggy source:
@SuppressWarnings("String_Node_Str") public ValueProxy make(IocMaking ing,IocValue iv){
  Object value=iv.getValue();
  String type=iv.getType();
  if ("String_Node_Str".equals(type) || null == value) {
    return new StaticValue(null);
  }
 else   if ("String_Node_Str".equals(type) || null == type) {
    if (value.getClass().isArray()) {
      return new ArrayValue(ing,(IocValue[])value);
    }
 else     if (value instanceof Map<?,?>) {
      return new MapValue(ing,(Map<String,IocValue>)value,(Class<? extends Map<String,Object>>)value.getClass());
    }
 else     if (value instanceof Collection<?>) {
      return new CollectionValue(ing,(Collection<IocValue>)value,(Class<? extends Collection<Object>>)value.getClass());
    }
 else     if (value instanceof IocObject) {
      return new InnerValue((IocObject)value);
    }
    return new StaticValue(value);
  }
 else   if ("String_Node_Str".equals(type)) {
    String s=value.toString();
    if ("String_Node_Str".equalsIgnoreCase(s)) {
      return new IocSelfValue();
    }
 else     if ("String_Node_Str".equalsIgnoreCase(s)) {
      return new ObjectNameValue();
    }
    return new ReferValue(s);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new JavaValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new FileValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new EnvValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new InnerValue((IocObject)value);
  }
  return null;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public ValueProxy make(IocMaking ing,IocValue iv){
  Object value=iv.getValue();
  String type=iv.getType();
  if ("String_Node_Str".equals(type) || null == value) {
    return new StaticValue(null);
  }
 else   if ("String_Node_Str".equals(type) || null == type) {
    if (value.getClass().isArray()) {
      return new ArrayValue(ing,(IocValue[])value);
    }
 else     if (value instanceof Map<?,?>) {
      return new MapValue(ing,(Map<String,IocValue>)value,(Class<? extends Map<String,Object>>)value.getClass());
    }
 else     if (value instanceof Collection<?>) {
      return new CollectionValue(ing,(Collection<IocValue>)value,(Class<? extends Collection<Object>>)value.getClass());
    }
 else     if (value instanceof IocObject) {
      return new InnerValue((IocObject)value);
    }
    return new StaticValue(value);
  }
 else   if ("String_Node_Str".equals(type)) {
    String s=value.toString();
    if ("String_Node_Str".equalsIgnoreCase(s)) {
      return new IocSelfValue();
    }
 else     if ("String_Node_Str".equalsIgnoreCase(s)) {
      return new ObjectNameValue();
    }
    return new ReferValue(s);
  }
 else   if ("String_Node_Str".equals(type)) {
    return new JavaValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new FileValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new EnvValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new SysPropValue(value.toString());
  }
 else   if ("String_Node_Str".equals(type)) {
    return new InnerValue((IocObject)value);
  }
  return null;
}