static void assertShortFileName(@NotNull String name) throws IllegalArgumentException {
    //TODO RC: those verification rules are very wierd, they seems to be just cherry-picked to solve
    //         specific problems. We should either abandon verification altogether, or formulate simple
    //         and consistent rules.
    if (name.length() <= 1) return;
    int start = 0;
    int end = name.length();
    if (SystemInfo.isWindows && name.startsWith("//")) {
      // Windows UNC: '//Network/Ubuntu'
      // We allow paths <=2 segments. i.e.
      // '//Network'            -> ok
      // '//Network/Ubuntu'     -> ok
      // '//Network/Ubuntu/bin' -> NOT OK
      final int idx = name.indexOf('/', 2);
      start = idx == -1 ? 2 : idx + 1;
    }
    else if (name.charAt(0) == '/') {
      start = 1;
    }
    if (name.endsWith(URLUtil.SCHEME_SEPARATOR)) {
      end -= URLUtil.SCHEME_SEPARATOR.length();
    }
    if (StringUtil.containsAnyChar(name, FS_SEPARATORS, start, end)) {
      throw new IllegalArgumentException("Must not intern long path: '" + name + "'");
    }
  }
static void assertShortFileName(@NotNull String name)