public void readFromObject(Object object){
  try {
    Method method=BeanUtils.getReadMethod(object.getClass(),getName());
    if (method != null) {
      Object value=method.invoke(object,(Object[])null);
      initializeValue(value);
      if (value != null) {
        for (Iterator iter=subProperties.iterator(); iter.hasNext(); ) {
          Property subProperty=(Property)iter.next();
          subProperty.readFromObject(value);
        }
      }
    }
  }
 catch (  Exception e) {
    throw new RuntimeException(e);
  }
}

public void readFromObject ( Object object ) { try { Method method = BeanUtils . getReadMethod ( object . getClass ( ) , getName ( ) ) ; if ( method != null ) { Object value = method . invoke ( object , ( Object [ ] ) null ) ; initializeValue ( value ) ; if ( value != null ) { for ( Iterator iter = subProperties . iterator ( ) ; iter . hasNext ( ) ; ) { Property subProperty = ( Property ) iter . next ( ) ; subProperty . readFromObject ( value ) ; } } } } catch ( Exception e ) { throw new RuntimeException ( e ) ; } }
reads the value of this property from the given object . it uses reflection and looks for a method starting with " is " or " get " followed by the capitalized property name .
