/**
  * Picks a constructor from an annotated resource class based on spec rules
  *
  * @param annotatedResourceClass
  * @return
  */
 public static ResourceConstructor constructor(Class<?> annotatedResourceClass) {
   Constructor constructor = PickConstructor.pickPerRequestConstructor(annotatedResourceClass);
   ResourceConstructorBuilder builder =
       resourceClass(annotatedResourceClass).constructor(constructor);
   if (constructor.getParameterTypes() != null) {
     for (int i = 0; i < constructor.getParameterTypes().length; i++)
       builder.param(i).fromAnnotations();
   }
   return builder.buildConstructor().buildClass().getConstructor();
 }
 public ResourceClassBuilder buildConstructor() {
   return constructor.buildConstructor();
 }
 public ConstructorParameterBuilder param(int i) {
   return constructor.param(i);
 }