Program: 156006
Project: 156006
Buggy source:
private <T>void addProcessors(List<ResultSetProcessor<T>> processors,final Class<?> parameterType,final Method method,final String name){
  if (parameterType.equals(boolean.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getBoolean(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(int.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getInt(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(long.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getLong(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(double.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getDouble(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(String.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getString(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(Date.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          Timestamp timestamp=resultSet.getTimestamp(name);
          if (timestamp != null) {
            method.invoke(object,new Date(timestamp.getTime()));
          }
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(byte[].class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getBytes(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        String value=resultSet.getString(name);
        if (value != null) {
          try {
            method.invoke(object,Context.getObjectMapper().readValue(value,parameterType.getClass()));
          }
 catch (          InvocationTargetException|IllegalAccessException|IOException error) {
            Log.warning(error);
          }
        }
      }
    }
);
  }
}

Fixed version (ground truth):
private <T>void addProcessors(List<ResultSetProcessor<T>> processors,final Class<?> parameterType,final Method method,final String name){
  if (parameterType.equals(boolean.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getBoolean(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(int.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getInt(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(long.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getLong(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(double.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getDouble(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(String.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getString(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(Date.class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          Timestamp timestamp=resultSet.getTimestamp(name);
          if (timestamp != null) {
            method.invoke(object,new Date(timestamp.getTime()));
          }
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else   if (parameterType.equals(byte[].class)) {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        try {
          method.invoke(object,resultSet.getBytes(name));
        }
 catch (        IllegalAccessException|InvocationTargetException error) {
          Log.warning(error);
        }
      }
    }
);
  }
 else {
    processors.add(new ResultSetProcessor<T>(){
      @Override public void process(      T object,      ResultSet resultSet) throws SQLException {
        String value=resultSet.getString(name);
        if (value != null) {
          try {
            method.invoke(object,Context.getObjectMapper().readValue(value,parameterType));
          }
 catch (          InvocationTargetException|IllegalAccessException|IOException error) {
            Log.warning(error);
          }
        }
      }
    }
);
  }
}