public void apply(CallContext callcontext) throws Throwable {
    Object aobj[] = callcontext.getArgs();
    Object obj = aobj[0];
    int j = aobj.length - 1;
    for (int i = 1; i < j; i++) {
      if (((MethodProc) aobj[i]).match1(obj, callcontext) >= 0) {
        return;
      }
    }

    ((Procedure) aobj[j]).check1(obj, callcontext);
  }