code: public static Object callGetter(Object target, PropertyDescriptor prop) {
  
          Object result = null;
          Method getter = prop.getReadMethod();
  
          if (getter == null) {
              throw new RuntimeException("No read method for bean property "
                      + target.getClass() + " " + prop.getName());
          }
          try {
              result = getter.invoke(target, new Object[0]);
          } catch (InvocationTargetException e) {
              throw new RuntimeException("Couldn't invoke method: " + getter,
                      e);
          } catch (IllegalArgumentException e) {
              throw new RuntimeException(
                      "Couldn't invoke method with 0 arguments: " + getter, e);
          } catch (IllegalAccessException e) {
              throw new RuntimeException("Couldn't invoke method: " + getter,
                      e);
          }
  
          return result;
      }
docs: Invokes Property Descriptor Getter and returns value returned by that function.
  
  @param target Object Getter of which would be executed
  @param prop   Property Descriptor which would be used to invoke Getter
  @return Value returned from Getter