code: private static Field findField(String name, MutableObject<Object> valueHolder) {
  		final String sourceMethod = "findField"; //$NON-NLS-1$
  		final boolean isTraceLogging = log.isLoggable(Level.FINER);
  		if (isTraceLogging) {
  			log.entering(sourceClass, sourceMethod, new Object[]{name, valueHolder});
  		}
  		Field field = FIELD_NAME_MAP.get(name);
  		if (field != null) {
  			Object arg = marshalArg(field.getType(), valueHolder.getValue());
  			if (arg != null) {
  				valueHolder.setValue(arg);
  			} else {
  				field = null;
  			}
  		}
  		if (isTraceLogging) {
  			log.exiting(sourceMethod, sourceMethod, field);
  		}
  		return field;
  	}
docs: Returns the field matching the specified name if the type of the value specified in
  <code>valueHolder</code> can be assigned to the field (with conversion if necessary), or
  null.
  
  @param name
  the field name
  @param valueHolder
  (input/output) On input, the value being assigned. On output, possibly converted
  value that will be accepted by the field. See {@link #marshalArg(Class, Object)}
  for conversion rules.
  @return matching field or null