code: protected Context createContext(Host host, String url) { // similar to super class's private method
          String contextClass = StandardContext.class.getName();
          if (host == null) {
              host = this.getHost();
          }
          if (host instanceof StandardHost) {
              contextClass = ((StandardHost) host).getContextClass();
          }
          final Context ctx;
          try {
              ctx = (Context) Class.forName(contextClass).getConstructor().newInstance();
          } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
                  | NoSuchMethodException | SecurityException | ClassNotFoundException e) {
              String msg = "Can't instantiate context-class " + contextClass + " for host " + host + " and url " + url;
              throw new IllegalArgumentException(msg, e);
          }
          setupAccessLogIfNeeds(ctx);
          setupYourValveIfNeeds(ctx);
          if (likeitCatalinaSetupper != null) {
              likeitCatalinaSetupper.setup(new LikeItCatalinaResource(host, ctx));
          }
          return ctx;
      }
docs: -------