@Override
    public void handle(Request request) {
      if (request.getRequestType() != Request.RequestType.Call) {
        return;
      }
      if (request.getUri().getPath().equals(getName())) {
        switch (getName()) {
          case kMethod1: break;  // nothing to do for method1
          case kMethod2:
          case kCatchallMethod2:
          case kPrefixMethod:
            callMethod2(request);
            break;
          case kCallError: callError(request); break;
          case kCallErrorWithDetails: callErrorWithDetails(request); break;
          default: break;
        }
      }
    }