@Override public List<Value> getPertinentDaughterValuesByInstanceIds( SearchContext searchContext, String axisId, String valueId, List<String> instanceIds) throws PdcException { List<Value> pertinentValues = new ArrayList<Value>(); ClassificationPlan pdc = aClassificationPlan(); UsedAxis theAxis = pdc.getAxis(axisId); if (instanceIds.contains(theAxis.getInstanceId())) { List<Value> values = pdc.getValuesUsedInClassification(axisId); List<SearchCriteria> criteria = searchContext.getCriterias(); if (criteria.isEmpty()) { return values; } for (Value aValue : values) { for (SearchCriteria criterion : criteria) { if (criterion.getAxisId() == Integer.valueOf(aValue.getAxisId()) && criterion.getValue().equals(aValue.getFullPath())) { pertinentValues.add(aValue); } } } } return pertinentValues; }