private Object getAttribute(Object object, String attribute) {
		if (object == null || attribute == null || "".equals(attribute)) {
			LOG.error("Either the given object or attribute is invalid: " + object + ", " + attribute);
			return null;
		}
		Object result = null;
		String methodName = getMethodName(attribute);
		try {
			Method getter = object.getClass().getMethod(methodName);
			result = getter.invoke(object);
		} catch (NoSuchMethodException e) {
			LOG.error("No getter method " + methodName + " found for object " + object, e);
		} catch (SecurityException e) {
			LOG.error("Getter method " + methodName + " is secured for object " + object, e);
		} catch (IllegalAccessException e) {
			LOG.error("Getter method "+methodName+" is not accessible on object "+object, e);
		} catch (IllegalArgumentException e) {
			LOG.error("Failed to invoke method "+methodName+" for object "+object, e);
		} catch (InvocationTargetException e) {
			LOG.error("Getter method "+methodName+" had an exception for object "+object, e);
		} catch (ExceptionInInitializerError e) {
			LOG.error("Failed to initialize object " + object, e);
		}
		return result;
	}