class DroolsDescriptionService implements DescriptionService {

	@Override
	public Set<String> getFSNs(Set<String> conceptIds, String... languageRefsetIds) {
		Set<String> fsns = new HashSet<>();
		for (String conceptId : conceptIds) {
			DroolsConcept concept = repository.getConcept(conceptId);
			if(concept != null) {
				Collection<DroolsDescription> descriptions = concept.getDescriptions();
				for (DroolsDescription description : descriptions) {
					if (description.isActive() && description.getTypeId().equals(FULLY_SPECIFIED_NAME)) {
						if(languageRefsetIds != null && languageRefsetIds.length > 0) {
							for (String languageRefsetId : languageRefsetIds) {
								if (PREFERRED_ACCEPTABILITY.equals(description.getAcceptabilityMap().get(languageRefsetId))) {
									fsns.add(description.getTerm());
								}
							}
						} else {
							fsns.add(description.getTerm());
						}
					}
				}
			}
		}
		return fsns;
	}

	public  DroolsDescriptionService(SnomedDroolsComponentRepository repository, TestResourceProvider testResourceProvider);

}