Collection<String> (@Nullable VirtualFile rootDir) { final List<String> candidates = new ArrayList<>(); if (rootDir != null && rootDir.isDirectory()) { final VirtualFile bin = rootDir.findChild("bin"); final VirtualFile scripts = rootDir.findChild("Scripts"); if (bin != null && bin.isDirectory()) { final String interpreter = findInterpreter(bin); if (interpreter != null) candidates.add(interpreter); } if (scripts != null && scripts.isDirectory()) { final String interpreter = findInterpreter(scripts); if (interpreter != null) candidates.add(interpreter); } if (candidates.isEmpty()) { final String interpreter = findInterpreter(rootDir); if (interpreter != null) candidates.add(interpreter); } } return candidates; }