@Override
 public Class<?>[] getAdapterTypes() {
   Adapter anno = getClass().getAnnotation(Adapter.class);
   if (anno == null) {
     throw new IllegalStateException(
         "Invalid AnnotatedAdapterFactory class. Must be annotated with Adapter annotation");
   }
   return anno.interfaces();
 }