@SuppressWarnings({ "rawtypes", "unchecked" })
	public boolean validate(T t) {
		Class classType = t.getClass();
		Class fieldType = isValidField(classType);

		String accessorMethod = null;
		Object actualValue = null;
		Object validatorValue = null;
		if (fieldType.toString() == Boolean.class.getSimpleName()) {
			accessorMethod = new StringBuilder(IS_METHOD_PREFIX).append(field)
					.toString();
		} else {
			accessorMethod = new StringBuilder(GET_METHOD_PREFIX).append(WordUtils.capitalize(field))
					.toString();
		}
		if (fieldType == Integer.class) {
			validatorValue = Integer.parseInt(value);
		} else if (fieldType == Boolean.class) {
			validatorValue = Boolean.valueOf(value);
		} else if (fieldType == String.class) {
			validatorValue = value;
		}
		
		actualValue = fetchFieldValue(t, accessorMethod, actualValue);

		
		return operator.operate(validatorValue, actualValue);
	}