String (@Nullable String shebang) { if (shebang == null || !shebang.startsWith(PREFIX)) return null; String interpreterPath = getInterpreterPath(shebang.substring(PREFIX.length()).trim()); String lowerCasePath = SystemInfo.isFileSystemCaseSensitive ? interpreterPath.toLowerCase(Locale.ENGLISH) : interpreterPath; return trimKnownExt(PathUtil.getFileName(lowerCasePath)); }