private static @Nullable Pair<@NotNull String, @Nullable String> parseUrl(@NotNull String url) {
    if (!url.startsWith(DocumentationManagerProtocol.PSI_ELEMENT_PROTOCOL)) {
      return null;
    }
    String withoutProtocol = url.substring(DocumentationManagerProtocol.PSI_ELEMENT_PROTOCOL.length());
    int separatorPos = withoutProtocol.lastIndexOf(DocumentationManagerProtocol.PSI_ELEMENT_PROTOCOL_REF_SEPARATOR);
    if (separatorPos >= 0) {
      return Pair.create(
        withoutProtocol.substring(0, separatorPos),
        withoutProtocol.substring(separatorPos + DocumentationManagerProtocol.PSI_ELEMENT_PROTOCOL_REF_SEPARATOR.length())
      );
    }
    else {
      return Pair.create(withoutProtocol, null);
    }
  }
private static @Nullable Pair<@NotNull String, @Nullable String> parseUrl(@NotNull String url)