@ArgumentsChecked
	@Throws({ IllegalNullArgumentException.class, IllegalMissingAnnotationException.class })
	public static void hasAnnotation(final boolean condition, @Nonnull final Class<?> clazz,
			@Nonnull final Class<? extends Annotation> annotation) {
		Check.notNull(clazz, "clazz");
		Check.notNull(annotation, "annotation");

		if (condition) {
			Check.hasAnnotation(clazz, annotation);
		}
	}
@ ArgumentsChecked @ Throws ( { IllegalNullArgumentException . class , IllegalMissingAnnotationException . class } ) public static void hasAnnotation ( final boolean condition , @ Nonnull final Class < ? > clazz , @ Nonnull final Class < ? extends Annotation > annotation ) { Check . notNull ( clazz , "clazz" ) ; Check . notNull ( annotation , "annotation" ) ; if ( condition ) { Check . hasAnnotation ( clazz , annotation ) ; } }
Ensures that a passed class has an annotation of a specific type

@param condition
condition must be {@code true}^ so that the check will be performed
@param clazz
the class that must have a required annotation
@param annotation
the type of annotation that is required on the class

@throws IllegalMissingAnnotationException
if the passed annotation is not annotated at the given class