/** * Returns all program element docs that have a visibility greater or equal than the specified * level */ private <T extends ProgramElementDoc> List<T> filterByVisibility( T[] docs, Visibility visibility) { if (visibility == Visibility.PRIVATE) return Arrays.asList(docs); List<T> filtered = new ArrayList<T>(); for (T doc : docs) { if (Visibility.get(doc).compareTo(visibility) > 0) filtered.add(doc); } return filtered; }