public T[] postMatch(Class declaring, AccessibleObject target) {
   List<Match> matches = new ArrayList<Match>();
   for (InterceptorFactory factory : interceptors) {
     Match match = factory.postMatch(declaring, target);
     if (match != null) {
       matches.add(match);
     }
   }
   return createArray(matches);
 }
 public T[] preMatch() {
   List<Match> matches = new ArrayList<Match>();
   for (InterceptorFactory factory : interceptors) {
     Match match = factory.preMatch();
     if (match != null) {
       matches.add(match);
     }
   }
   return createArray(matches);
 }