@SuppressWarnings("rawtypes")
	public Validator createValidator(final Annotation annotation)
	{
		try
		{
			final Object validatorValue = ReflectionUtils.getAnnotationValue(
					annotation, "validator");

			/*
			 * Validator attribute exists on annotation, so try to instantiate
			 * it and create a validator. If there is no validator attribute, a null value
			 * will be returned as part of the interface contract. 
			 */
			if (validatorValue != null)
			{
				final Class<?> validatorClass = (Class<?>) validatorValue;

				final Object o = validatorClass.newInstance();

				if (o instanceof Validator)
				{
					return (Validator) validatorClass.newInstance();
				}
			}

			return null;
		}
		catch (final NoSuchMethodException e)
		{
			return null;
		}
		catch (final Exception e)
		{
			throw new ValidationException(e);
		}
	}