code: @SuppressWarnings({"unchecked"})
      public static <T> T getProperty(Object bean, String property) throws InvocationTargetException{
          try{
              return (T)getGetterMethod(bean.getClass(), property).invoke(bean);
          }catch(IllegalAccessException ex){
              throw new ImpossibleException(ex); // because getter method is public
          }
      }
docs: Returns the value of the specified <code>property</code> in given <code>bean</code>
  
  @param bean      bean object
  @param property  property name whose value needs to be returned
  
  @return  value of the property.
  
  @throws InvocationTargetException if method invocation fails
  @throws NullPointerException if <code>property</code> is not found in <code>bean</code>