@Override
 public Class<? extends ValueReference> getExpectedParameterType(AnnotationParameter parameter) {
   PatternAnnotationParameter expectedParameter = null;
   for (PatternAnnotationParameter p : definedAttributes) {
     if (p.getName().equals(parameter.getName())) {
       expectedParameter = p;
     }
   }
   if (expectedParameter == null) {
     return null;
   }
   String type = expectedParameter.getType();
   if (type != null && TYPEMAPPING.containsKey(type)) {
     return TYPEMAPPING.get(type);
   }
   return null;
 }
 @Override
 public String apply(AnnotationParameter input) {
   Preconditions.checkNotNull(input, "annotation");
   return input.getName();
 }