/** * Collects the complete set of problem filters from the given set whose * underlying problem categories do not match any from the given array and * whose type name matches the underlying problem type name. * * @param filters * @param typename * @param collector * @param categories */ private void collectFilterFor(Set<IApiProblemFilter> filters, String typename, Set<IApiProblemFilter> collector, int[] categories) { for (IApiProblemFilter filter : filters) { IApiProblem underlyingProblem = filter.getUnderlyingProblem(); if (underlyingProblem != null) { if (matchesCategory(underlyingProblem, categories)) { continue; } String underlyingTypeName = underlyingProblem.getTypeName(); if (underlyingTypeName != null && (typename == null || underlyingTypeName.equals(typename))) { collector.add(filter); } } } }