boon/src/main/java/org/boon/core/reflection/Annotations.java
private static PropertyDescriptor doGetPropertyDescriptor( final Class<?> type, final String propertyName ) {
        try {
            BeanInfo beanInfo = Introspector.getBeanInfo( type );
            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
            for ( PropertyDescriptor pd : propertyDescriptors ) {
                if ( pd.getName().equals( propertyName ) ) {
                    return pd;
                }
            }
            Class<?> superclass = type.getSuperclass();
            if ( superclass != null ) {
                return doGetPropertyDescriptor( superclass, propertyName );
            }
            return null;

        } catch ( Exception ex ) {
            throw new RuntimeException( "Unable to get property " + propertyName + " for class " + type,
                    ex );
        }
    }
private static PropertyDescriptor doGetPropertyDescriptor( final Class<?> type, final String propertyName ) {
        try {
            BeanInfo beanInfo = Introspector.getBeanInfo( type );
            PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
            for ( PropertyDescriptor pd : propertyDescriptors ) {
                if ( pd.getName().equals( propertyName ) ) {
                    return pd;
                }
            }
            Class<?> superclass = type.getSuperclass();
            if ( superclass != null ) {
                return doGetPropertyDescriptor( superclass, propertyName );
            }
            return null;

        } catch ( Exception ex ) {
            throw new RuntimeException( "Unable to get property " + propertyName + " for class " + type,
                    ex );
        }
    }
This needs to be refactored and put into Reflection or something.