docs: public static <T extends ProgramElementDoc> T findFirst(T[] original, boolean ignoreHidden, Predicate<T> filter) {
  		for (final T element : original) {
  			if (!ignoreHidden || !isHiddenMember(element.name())) {
  				if (filter.test(element)) {
  					return element;
  				}
  			}
  		}
  		return null;
  	}