code: public static void setInternalState(Object object, Class<?> fieldType, Object value, Class<?> where) {
          if (fieldType == null || where == null) {
              throw new IllegalArgumentException("fieldType and where cannot be null");
          }
  
          setField(object, value, findFieldOrThrowException(fieldType, where));
      }
docs: Set the value of a field using reflection at a specific location (
  <tt>where</tt>) in the class hierarchy. The <tt>value</tt> will then be
  assigned to this field.
  
  @param object    the object to modify
  @param fieldType the type of the field the should be set.
  @param value     the new value of the field
  @param where     which class in the hierarchy defining the field