createFeatureMap(srcItem, tgtItem);
createFeatureMap(srcItem);
    protected Collection translateItem(Item srcItem)        throws ObjectStoreException, InterMineException {        Collection result = new HashSet();        String normalised = null;        String srcNs = XmlUtil.getNamespaceFromURI(srcItem.getClassName());        String className = XmlUtil.getFragmentFromURI(srcItem.getClassName());        if (className.equals("BioAssayDatum")) {            normalised = srcItem.getAttribute("normalised").getValue();            srcItem = removeNormalisedAttribute(srcItem);        }        Collection translated = super.translateItem(srcItem);        Item gene = new Item();        Set bioSequenceResult = new HashSet();        Item organism = new Item();        if (translated != null) {            for (Iterator i = translated.iterator(); i.hasNext();) {                boolean storeTgtItem = true;                Item tgtItem = (Item) i.next();                // mage: BibliographicReference flymine:Publication                if (className.equals("BibliographicReference")) {                    Set authors = createAuthors(srcItem);                    List authorIds = new ArrayList();                    Iterator j = authors.iterator();                    while (j.hasNext()) {                        Item author = (Item) j.next();                        authorIds.add(author.getIdentifier());                        result.add(author);                    }                    ReferenceList authorsRef = new ReferenceList("authors", authorIds);                    tgtItem.addCollection(authorsRef);                } else if (className.equals("FeatureReporterMap")) {                     setReporterLocationCoords(srcItem, tgtItem);                     storeTgtItem = false;                } else if (className.equals("PhysicalArrayDesign")) {                    createFeatureMap(srcItem, tgtItem);                    translateMicroArraySlideDesign(srcItem, tgtItem);                } else if (className.equals("Experiment")) {                    // collection bioassays includes MeasuredBioAssay, PhysicalBioAssay                    // and DerivedBioAssay, only keep DerivedBioAssay                    keepDBA(srcItem, tgtItem, srcNs);                    translateMicroArrayExperiment(srcItem, tgtItem);                } else if (className.equals("DerivedBioAssay")) {                    translateMicroArrayAssay(srcItem, tgtItem);                } else if (className.equals("BioAssayDatum")) {                    translateMicroArrayExperimentalResult(srcItem, tgtItem, normalised);                } else if (className.equals("Reporter")) {                    setBioEntityMap(srcItem, tgtItem);                } else if (className.equals("BioSequence")) {                    bioSequenceResult = translateBioEntity(srcItem, tgtItem);                    storeTgtItem = false;                    result.addAll(bioSequenceResult);                } else if (className.equals("LabeledExtract")) {                    translateLabeledExtract(srcItem, tgtItem);                } else if (className.equals("BioSource")) {                    organism = translateSample(srcItem, tgtItem);                } else if (className.equals("Treatment")) {                    translateTreatment(srcItem, tgtItem);                }                if (storeTgtItem) {                    result.add(tgtItem);                }            }        }        return result;    }