code: public static Object readField(final Field field, final Object target, final boolean forceAccess) throws IllegalAccessException {
          Validate.isTrue(field != null, "The field must not be null");
          if (forceAccess && !field.isAccessible()) {
              field.setAccessible(true);
          } else {
              MemberUtils.setAccessibleWorkaround(field);
          }
          return field.get(target);
      }
docs: Reads a {@link Field}.
  
  @param field
  the field to use
  @param target
  the object to call on, may be {@code null} for {@code static} fields
  @param forceAccess
  whether to break scope restrictions using the
  {@link java.lang.reflect.AccessibleObject#setAccessible(boolean)} method.
  @return the field value
  @throws IllegalArgumentException
  if the field is {@code null}
  @throws IllegalAccessException
  if the field is not made accessible