public static Optional<Object> getStaticFieldValue(Class<?> clazz, String fieldName) {
        if (clazz == null || StringUtils.isBlank(fieldName)) {
            return Optional.empty();
        }
        try {
            final Field field = getField(clazz, fieldName);
            if (field != null && Modifier.isStatic(field.getModifiers())) {
                return Optional.ofNullable(field.get(null));
            } else {
                return Optional.empty();
            }
        } catch (IllegalAccessException ex) {
            LOGGER.log(Level.WARNING, String.format(Locale.ENGLISH,
                    "Could not acquire the value of field %s", fieldName));
        }
        return Optional.empty();
    }
@Test
    public void getStaticFieldValue() {
        final Optional<Object> staticField = ReflectUtils.getFieldValueByClazz(TestReflect.class, null, "staticField");
        Assert.assertTrue(staticField.isPresent());
        Assert.assertEquals(staticField.get(), TestReflect.staticField);
        final Optional<Object> fieldValue = ReflectUtils.getFieldValueByClazz(TestReflect.class, null, null);
        Assert.assertFalse(fieldValue.isPresent());
        final Optional<Object> fieldValue2 = ReflectUtils.getFieldValueByClazz(null, null, "test");
        Assert.assertFalse(fieldValue2.isPresent());
        final Optional<Object> test = ReflectUtils.getFieldValueByClazz(null, new TestReflect(), "test");
        Assert.assertFalse(test.isPresent());
    }