boolean (Collection<? extends DetectedLibraryRoot> roots, VirtualFile candidate) { for (DetectedLibraryRoot root : roots) { if (root.getTypes().size() > 1 || !root.getFile().equals(candidate) && !root.getFile().equals(candidate.getParent())) { return false; } } return true; }