Como uso um validador personalizado com o dropwizard?

Eu tenho uma API REST escrita por outra pessoa na qual o método que manipula a solicitação para um URL específico aceita vários parâmetros que são preenchidos a partir dos parâmetros do caminho.

@POST
@Path("/{classid}/{studentid}/details")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@SuppressWarnings("unchecked")


public Response processFile(@FormDataParam("sourceFile") InputStream aStream, @PathParam("classid") String classId, @PathParam("studentid")  String studentId, @Context HttpServletRequest httpRequest) {

// Code to do stuff and return a response
}

A pessoa que escreveu isso usou o DropWizard e eu não tenho experiência anterior trabalhando nele. Eu tenho a tarefa de validar o campo studentId comparando-o com os valores no banco de dados. Isso seria bem direto, mas me disseram para fazer isso usando um validador personalizado. Eu sou muito novo em escrever anotações, mas depois de muita pesquisa, escrevi uma anotação como essa,

@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = StudentIdValidator.StudentIdValidation.class)

public @interface StudentIdValidator {

    String message() default "{Invalid Id}";

      Class<?>[] groups() default {};

      Class<? extends Payload>[] payload() default {};


      class StudentIdValidation implements ConstraintValidator<StudentIdValidator, String> {

        @Override
        public void initialize(StudentIdValidator constraintAnnotation) {
            System.out.println("Annotation initialize !!!!!!!!!");
        }


        @Override
        public boolean isValid(String value, ConstraintValidatorContext context)                                                                            {
                // TODO Auto-generated method stub
                System.out.println("Annotation called");
                return false;
            }
        }
    }

Depois disso, adicionei a anotação ao campo em que queria executar a validação dessa maneira,

public Response processFile(@FormDataParam("sourceFile") InputStream     aStream, @PathParam("classid") String classId, @StudentIdValidator     @PathParam("studentid")  String studentId, @Context HttpServletRequest     httpRequest)

Agora, o problema é que, quando eu corro / depuro o código ... esse validador não está sendo chamado, também não tenho idéia de como obter o valor de studentId dentro da classe de validação studentId. Então eu cavei um pouco mais e adicionei isso ao arquivo do aplicativo

class MyApplication extends Application<MyConfiguration> {
    ........

    @Override
   public void run(MyConfiguration myConfiguration, Environment                     currentEnvironment) {

     currentEnvironment.jersey().register(StudentIdValidator.class);

    }

Estou literalmente no fim do meu juízo. Qualquer ajuda será muito MUITO apreciada. Desculpe pela má formatação.

questionAnswers(2)

yourAnswerToTheQuestion