private Method findStaticGetter(Class<?> theClass, String propertyName) {
        Method[] methods = theClass.getMethods();
        for (Method method : methods) {
            int modifiers = method.getModifiers();

            if (Modifier.isStatic(modifiers) && Modifier.isPublic(modifiers)) {
                String methodName = method.getName();
                String postfix = null;

                if (methodName.startsWith("get")) { //$NON-NLS-1$
                    postfix = methodName.substring(3);
                } else if (methodName.startsWith("is")) { //$NON-NLS-1$
                    postfix = methodName.substring(2);
                } else {
                    continue;
                }

                if ((method.getParameterTypes().length != 0)
                        || (method.getReturnType() == void.class)) {
                    continue;
                }

                postfix = Introspector.decapitalize(postfix);
                if (postfix.equals(propertyName)) {
                    return method;
                }
            }
        }
        return null;
    }