Program: 160465
Project: 160465
Buggy source:
private Object convert(EClassifier classifier,String value) throws DeserializeException, MetaDataException {
  if (classifier != null) {
    if (classifier instanceof EClassImpl) {
      if (null != ((EClassImpl)classifier).getEStructuralFeature(WRAPPED_VALUE)) {
        IdEObject newObject=(IdEObject)getPackageMetaData().create((EClass)classifier);
        Class<?> instanceClass=newObject.eClass().getEStructuralFeature(WRAPPED_VALUE).getEType().getInstanceClass();
        if (value.equals("String_Node_Str")) {
        }
 else {
          if (instanceClass == Integer.class || instanceClass == int.class) {
            try {
              newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),Integer.parseInt(value));
            }
 catch (            NumberFormatException e) {
              throw new DeserializeException(lineNumber,value + "String_Node_Str");
            }
          }
 else           if (instanceClass == Long.class || instanceClass == long.class) {
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),Long.parseLong(value));
          }
 else           if (instanceClass == Boolean.class || instanceClass == boolean.class) {
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),value.equals("String_Node_Str"));
          }
 else           if (instanceClass == Double.class || instanceClass == double.class) {
            try {
              newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),Double.parseDouble(value));
            }
 catch (            NumberFormatException e) {
              throw new DeserializeException(lineNumber,value + "String_Node_Str");
            }
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE + "String_Node_Str"),value);
          }
 else           if (instanceClass == String.class) {
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),readString(value));
          }
 else           if (instanceClass.getName().equals("String_Node_Str")) {
            Object tristate=null;
            if (value.equals("String_Node_Str")) {
              tristate=getPackageMetaData().getEEnumLiteral("String_Node_Str","String_Node_Str");
            }
 else             if (value.equals("String_Node_Str")) {
              tristate=getPackageMetaData().getEEnumLiteral("String_Node_Str","String_Node_Str");
            }
 else             if (value.equals("String_Node_Str")) {
              tristate=getPackageMetaData().getEEnumLiteral("String_Node_Str","String_Node_Str");
            }
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),tristate);
          }
        }
        return newObject;
      }
 else {
        return processInline(classifier,value);
      }
    }
 else     if (classifier instanceof EDataType) {
      return convertSimpleValue(classifier.getInstanceClass(),value);
    }
  }
  return null;
}

Fixed version (ground truth):
private Object convert(EClassifier classifier,String value) throws DeserializeException, MetaDataException {
  if (classifier != null) {
    if (classifier instanceof EClassImpl) {
      if (null != ((EClassImpl)classifier).getEStructuralFeature(WRAPPED_VALUE)) {
        IdEObject newObject=(IdEObject)getPackageMetaData().create((EClass)classifier);
        Class<?> instanceClass=newObject.eClass().getEStructuralFeature(WRAPPED_VALUE).getEType().getInstanceClass();
        if (value.equals("String_Node_Str")) {
        }
 else {
          if (instanceClass == Integer.class || instanceClass == int.class) {
            try {
              newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),Integer.parseInt(value));
            }
 catch (            NumberFormatException e) {
              throw new DeserializeException(lineNumber,value + "String_Node_Str");
            }
          }
 else           if (instanceClass == Long.class || instanceClass == long.class) {
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),Long.parseLong(value));
          }
 else           if (instanceClass == Boolean.class || instanceClass == boolean.class) {
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),value.equals("String_Node_Str"));
          }
 else           if (instanceClass == Double.class || instanceClass == double.class) {
            try {
              newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),Double.parseDouble(value));
            }
 catch (            NumberFormatException e) {
              throw new DeserializeException(lineNumber,value + "String_Node_Str");
            }
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE + "String_Node_Str"),value);
          }
 else           if (instanceClass == String.class) {
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),readString(value));
          }
 else           if (instanceClass.getSimpleName().equals("String_Node_Str")) {
            Object tristate=null;
            if (value.equals("String_Node_Str")) {
              tristate=getPackageMetaData().getEEnumLiteral("String_Node_Str","String_Node_Str");
            }
 else             if (value.equals("String_Node_Str")) {
              tristate=getPackageMetaData().getEEnumLiteral("String_Node_Str","String_Node_Str");
            }
 else             if (value.equals("String_Node_Str")) {
              tristate=getPackageMetaData().getEEnumLiteral("String_Node_Str","String_Node_Str");
            }
            newObject.eSet(newObject.eClass().getEStructuralFeature(WRAPPED_VALUE),tristate);
          }
        }
        return newObject;
      }
 else {
        return processInline(classifier,value);
      }
    }
 else     if (classifier instanceof EDataType) {
      return convertSimpleValue(classifier.getInstanceClass(),value);
    }
  }
  return null;
}