Program: 3199
Project: 3199
Buggy source:
public <T>void convertNodeToObject(javax.jcr.Node node,Class<?> nodeType,Object returnValue) throws RepositoryException {
  OCMMapping mapping=ocmExtension.getOCMMappingStore().findMapping(nodeType);
  if (mapping == null) {
    throw new RuntimeException("String_Node_Str" + nodeType);
  }
  Set<String> jcrProperties=mapping.getPropertiesToFields().keySet();
  for (  String jcrProperty : jcrProperties) {
    Field field=mapping.getPropertiesToFields().get(jcrProperty);
    Object value=null;
    if (field != null && jcrProperty.equalsIgnoreCase("String_Node_Str")) {
      value=node.getIdentifier();
    }
 else {
      Property property=node.getProperty(jcrProperty);
      if (field != null && property != null) {
        Class<?> fieldType=field.getType();
        if (fieldType.equals(java.util.Calendar.class)) {
          value=property.getDate();
        }
 else         if (fieldType.equals(boolean.class) || fieldType.equals(Boolean.class)) {
          value=property.getBoolean();
        }
 else         if (fieldType.equals(double.class) || fieldType.equals(Double.class)) {
          value=property.getDouble();
        }
 else         if (fieldType.equals(BigDecimal.class)) {
          value=property.getDecimal();
        }
 else         if (fieldType.equals(Long.class) || fieldType.equals(long.class)) {
          value=property.getLong();
        }
 else         if (fieldType.equals(String.class)) {
          value=property.getString();
        }
 else {
          logger.warnf("String_Node_Str",field);
        }
      }
    }
    if (value != null) {
      String setterMethodName="String_Node_Str" + field.getName().substring(0,1).toUpperCase() + field.getName().substring(1);
      Method method=Reflections.findDeclaredMethod(nodeType,setterMethodName,field.getType());
      Reflections.invokeMethod(method,returnValue,value);
    }
  }
}

Fixed version (ground truth):
public <T>void convertNodeToObject(javax.jcr.Node node,Class<?> nodeType,Object returnValue) throws RepositoryException {
  OCMMapping mapping=ocmExtension.getOCMMappingStore().findMapping(nodeType);
  if (mapping == null) {
    throw new RuntimeException("String_Node_Str" + nodeType);
  }
  Set<String> jcrProperties=mapping.getPropertiesToFields().keySet();
  for (  String jcrProperty : jcrProperties) {
    Field field=mapping.getPropertiesToFields().get(jcrProperty);
    Object value=null;
    if (field != null && jcrProperty.equalsIgnoreCase("String_Node_Str")) {
      value=node.getIdentifier();
    }
 else {
      try {
        Property property=node.getProperty(jcrProperty);
        if (field != null && property != null) {
          Class<?> fieldType=field.getType();
          if (fieldType.equals(java.util.Calendar.class)) {
            value=property.getDate();
          }
 else           if (fieldType.equals(boolean.class) || fieldType.equals(Boolean.class)) {
            value=property.getBoolean();
          }
 else           if (fieldType.equals(double.class) || fieldType.equals(Double.class)) {
            value=property.getDouble();
          }
 else           if (fieldType.equals(BigDecimal.class)) {
            value=property.getDecimal();
          }
 else           if (fieldType.equals(Long.class) || fieldType.equals(long.class)) {
            value=property.getLong();
          }
 else           if (fieldType.equals(String.class)) {
            value=property.getString();
          }
 else {
            logger.warnf("String_Node_Str",field);
          }
        }
      }
 catch (      RepositoryException e) {
        logger.debug("String_Node_Str" + jcrProperty,e);
      }
    }
    if (value != null) {
      String setterMethodName="String_Node_Str" + field.getName().substring(0,1).toUpperCase() + field.getName().substring(1);
      Method method=Reflections.findDeclaredMethod(nodeType,setterMethodName,field.getType());
      Reflections.invokeMethod(method,returnValue,value);
    }
  }
}