}
}
final Map<LookupHitKey, Set<LookupHit>> lookupHitMap = createLookupHitMap( lhItr );
for ( Map.Entry<LookupHitKey, Set<LookupHit>> entry : lookupHitMap.entrySet() ) {
final int uniqueCodeCount = countUniqueCodes( entry.getValue() );
final FSArray ocArr = new FSArray( jcas, uniqueCodeCount );
// iterate over the LookupHit objects and create
// a corresponding JCas OntologyConcept object that will
// be placed in a FSArray
int ocArrIdx = 0;
final Set<String> codes = new HashSet<>();
for ( LookupHit lookupHit : entry.getValue() ) {
final MetaDataHit mdh = lookupHit.getDictMetaDataHit();
final String code = mdh.getMetaFieldValue( CODE_MF );
if ( !codes.contains( code ) ) {
// create only first entry in the array for a code
final OntologyConcept oc = new OntologyConcept( jcas );
oc.setCode( code );
oc.setCodingScheme( CODING_SCHEME );
ocArr.set( ocArrIdx, oc );
ocArrIdx++;
codes.add( code );
}
}