public static <T> T getField(@NotNull Class<?> objectClass,
                               @Nullable Object object,
                               @Nullable("null means any type") Class<T> fieldType,
                               @NotNull String fieldName) {
    Field field = findField(objectClass, fieldName, fieldType);
    if (field != null) {
      try {
        //noinspection unchecked
        return (T)field.get(object);
      }
      catch (IllegalAccessException ignored) { }
    }

    return null;
  }
public static <T> T getField(@NotNull Class<?> objectClass,
                               @Nullable Object object,
                               @Nullable("null means any type") Class<T> fieldType,
                               @NotNull String fieldName)