public static boolean isBeanPropertyReadMethod(Method method) {
        return method != null
                && Modifier.isPublic(method.getModifiers())
                && !Modifier.isStatic(method.getModifiers())
                && method.getReturnType() != void.class
                && method.getDeclaringClass() != Object.class
                && method.getParameterTypes().length == 0
                && ((method.getName().startsWith("get") && method.getName().length() > 3)
                        || (method.getName().startsWith("is")
                                && method.getName().length() > 2));
    }
@Test
    void testIsBeanPropertyReadMethod() throws Exception {
        Method method = EmptyClass.class.getMethod("getProperty");
        assertTrue(ReflectUtils.isBeanPropertyReadMethod(method));
        method = EmptyClass.class.getMethod("getProperties");
        assertFalse(ReflectUtils.isBeanPropertyReadMethod(method));
        method = EmptyClass.class.getMethod("isProperty");
        assertFalse(ReflectUtils.isBeanPropertyReadMethod(method));
        method = EmptyClass.class.getMethod("getPropertyIndex", int.class);
        assertFalse(ReflectUtils.isBeanPropertyReadMethod(method));
    }