code: public List<String> getNonHubRoots() throws IOException {
          List<String> nonHubRootsTemp = nonHubRoots;
          if (nonHubRootsTemp == null) {
              synchronized(ContextPaths.class) {
                  nonHubRootsTemp = nonHubRoots;
                  if (nonHubRootsTemp == null) {
                      nonHubRoots = DEFAULT_NON_HUB_ROOTS;
                      List<String> customPaths = WebAppContext.getMdw().getCustomPaths();
                      if (customPaths != null) {
                          nonHubRoots.addAll(customPaths);
                      }
                  }
              }
          }
          return nonHubRoots;
      }
docs: Root paths that aren't part of MDWHub UI.
  Values that don't end with / are exact.
  Values prefixed with * match by extension.
  Customize in access.yaml.