public static Object optionalEmpty(Type type) {
        if (OPTIONAL_ERROR) {
            return null;
        }

        Class clazz = getClass(type);
        if (clazz == null) {
            return null;
        }

        String className = clazz.getName();

        if ("java.util.Optional".equals(className)) {
            if (OPTIONAL_EMPTY == null) {
                try {
                    Method empty = Class.forName(className).getMethod("empty");
                    OPTIONAL_EMPTY = empty.invoke(null);
                } catch (Throwable e) {
                    OPTIONAL_ERROR = true;
                }
            }
            return OPTIONAL_EMPTY;
        }
        return null;
    }
resolve property name from get/set method name

@param methodName get/set method name
@return property name
src/main/java/com/alibaba/fastjson/util/TypeUtils.java