public static Object invokeGetter(Object instance, String methodName) {

		if ( null == instance ) {
			throw new IllegalArgumentException("Object instance argument is null");
		}
		if ( null == methodName ) {
			throw new IllegalArgumentException("Method name argument is null");
		}

		Class<?> cl = instance.getClass();
		
		Object result = null ;
		Method method ;
		try {
			method = cl.getMethod(methodName, (Class<?>[])null); 
		} catch (SecurityException e) {
			throw new RuntimeException(ERROR_GET_GETTER_METHOD + methodName + " (SecurityException)", e);
		} catch (NoSuchMethodException e) {
			throw new RuntimeException(ERROR_GET_GETTER_METHOD + methodName + " (NoSuchMethodException)", e);
		}

		try {
			result = method.invoke(instance, (Object[])null);
		} catch (IllegalArgumentException e) {
			throw new RuntimeException(ERROR_INVOKE_GETTER_METHOD + methodName + " (IllegalArgumentException)", e);
		} catch (IllegalAccessException e) {
			throw new RuntimeException(ERROR_INVOKE_GETTER_METHOD + methodName + " (IllegalAccessException)", e);
		} catch (InvocationTargetException e) {
			throw new RuntimeException(ERROR_INVOKE_GETTER_METHOD + methodName + " (InvocationTargetException)", e);
		}
		return result ;
	}