String (int prefixEnd, @NotNull String path, boolean separator) { StringBuilder result = new StringBuilder(path.length()); result.append(path, 0, prefixEnd); int start = prefixEnd; if (start == 0 && SystemInfoRt.isWindows && (path.startsWith("//") || path.startsWith("\\\\"))) { start = 2; result.append("//"); separator = true; } for (int i = start; i < path.length(); ++i) { char c = path.charAt(i); if (c == '/' || c == '\\') { if (!separator) result.append('/'); separator = true; } else { result.append(c); separator = false; } } return result.toString(); }