private Set<ConstraintCheckError> checkInternal(
      Element element, AnnotationMirror annotation, TypeMirror type, String messageKey) {

    if (constraintHelper.checkConstraint(annotation.getAnnotationType(), type)
        != ConstraintCheckResult.ALLOWED) {

      return CollectionHelper.asSet(
          new ConstraintCheckError(
              element,
              annotation,
              messageKey,
              annotation.getAnnotationType().asElement().getSimpleName()));
    }

    return Collections.emptySet();
  }