code: private Object loadObjectFromField(String fieldname, Object object, Object alternative) throws Exception {
          Object source = object != null ? object : alternative;
          try {
              return FieldUtils.readField(source, fieldname, true);
          } catch (Exception e) {
              throw new IllegalArgumentException(String.format("Unable to load field '%s' from object '%s'", fieldname,
                  source.getClass().getName()));
          }
      }
docs: Loads the object from the field with the given name from either the object parameter or if this parameter is null
  from the alternative parameter.