code: @CheckForNull
      public static GitHubRepositoryName create(String url) {
          LOGGER.debug("Constructing from URL {}", url);
          for (Pattern p : URL_PATTERNS) {
              Matcher m = p.matcher(trimToEmpty(url));
              if (m.matches()) {
                  LOGGER.debug("URL matches {}", m);
                  GitHubRepositoryName ret = new GitHubRepositoryName(m.group(1), m.group(2), m.group(3));
                  LOGGER.debug("Object is {}", ret);
                  return ret;
              }
          }
          LOGGER.warn("Could not match URL {}", url);
          return null;
      }
docs: Create {@link GitHubRepositoryName} from URL
  
  @param url repo url. Can be null
  
  @return parsed {@link GitHubRepositoryName} or null if it cannot be parsed from the specified URL