code: @SuppressWarnings("unchecked")
      public static <T> T getInternalState(Object object, Class<T> fieldType, Class<?> where) {
          if (object == null) {
              throw new IllegalArgumentException("object and type are not allowed to be null");
          }
  
          try {
              return (T) findFieldOrThrowException(fieldType, where).get(object);
          } catch (IllegalAccessException e) {
              throw new RuntimeException("Internal error: Failed to get field in method getInternalState.", e);
          }
      }
docs: Get the value of a field using reflection. Use this method when you need
  to specify in which class the field is declared. The first field matching
  the <tt>fieldType</tt> in <tt>where</tt> will is the field whose value
  will be returned.
  
  @param <T>       the expected type of the field
  @param object    the object to modify
  @param fieldType the type of the field
  @param where     which class the field is defined
  @return the internal state