if (feature != null) {
    protected void setReporterLocationCoords(Item srcItem, Item tgtItem)        throws ObjectStoreException {        ReferenceList featureInfos = srcItem.getCollection("featureInformationSources");        if (featureInfos == null) {            LOG.error("FeatureReporterMap (" + srcItem.getIdentifier()                        + ") does not have featureInformationSource");            // throw new IllegalArgumentException("FeatureReporterMap ("            //            + srcItem.getIdentifier()            //            + " does not have featureInformationSource");            }        if (!isSingleElementCollection(featureInfos)) {            LOG.error("FeatureReporterMap (" + srcItem.getIdentifier()                        + ") does not have single element collection"                     + featureInfos.getRefIds().toString());            // throw new IllegalArgumentException("FeatureReporterMap ("            //            + srcItem.getIdentifier()            //             + " has more than one featureInformationSource");        }        //FeatureInformationSources->FeatureInformation->Feature->FeatureLocation        //can't do prefetch from FeatureReporterMap to featureInformationSources        Item featureInfo = ItemHelper.convert(srcItemReader                        .getItemById((String) featureInfos.getRefIds().get(0)));        if (featureInfo != null && featureInfo.hasReference("feature")) {            Item feature = ItemHelper.convert(srcItemReader                          .getItemById(featureInfo.getReference("feature").getRefId()));            if (feature != null) {                if (feature.hasReference("featureLocation")) {                    Item featureLoc = ItemHelper.convert(srcItemReader                          .getItemById(feature.getReference("featureLocation").getRefId()));                    if (featureLoc != null) {                        tgtItem.addAttribute(new Attribute("localX",                                   featureLoc.getAttribute("column").getValue()));                        tgtItem.addAttribute(new Attribute("localY",                                   featureLoc.getAttribute("row").getValue()));                    }                }                if (feature.hasReference("zone")) {                    Item zone = ItemHelper.convert(srcItemReader                                   .getItemById(feature.getReference("zone").getRefId()));                    if (zone != null) {                        tgtItem.addAttribute(new Attribute("zoneX",                                   zone.getAttribute("column").getValue()));                        tgtItem.addAttribute(new Attribute("zoneY",                                   zone.getAttribute("row").getValue()));                    }                }                // to set MicroArraySlideDesign <-> ReporterLocation reference                // need to hold on to ReporterLocations and their feature ids                // until end of processing                reporterLocs.add(tgtItem);                rlToFeature.put(tgtItem.getIdentifier(), feature.getIdentifier());            }        }    }