private void addLink( Study study, Map<Integer, Term> stageForNode, Map<Integer, String> taxonForNode, LabeledCSVParser links, Location location) throws StudyImporterException, NodeFactoryException { Integer consumerNodeID = Integer.parseInt(links.getValueByLabel("ConsumerNodeID")); Integer resourceNodeID = Integer.parseInt(links.getValueByLabel("ResourceNodeID")); String linkType = links.getValueByLabel("LinkType"); InteractType interactType = interactionMapping.get(StringUtils.trim(StringUtils.lowerCase(linkType))); if (interactType == null) { throw new StudyImporterException( "failed to map interaction type [" + linkType + "] in line [" + links.lastLineNumber() + "]"); } Specimen consumer = nodeFactory.createSpecimen(study, taxonForNode.get(consumerNodeID)); consumer.setLifeStage(stageForNode.get(consumerNodeID)); consumer.setExternalId(getNamespace() + ":NodeID:" + consumerNodeID); consumer.caughtIn(location); String resourceName = taxonForNode.get(resourceNodeID); Specimen resource = nodeFactory.createSpecimen(study, resourceName); resource.setLifeStage(stageForNode.get(resourceNodeID)); resource.setExternalId(getNamespace() + ":NodeID:" + resourceNodeID); resource.caughtIn(location); consumer.interactsWith(resource, interactType); }