private void addSourceAndTargetInformation(GraphRewrite event, WindupConfiguration configuration, WindupConfigurationModel configurationModel) { @SuppressWarnings("unchecked") Collection<String> sources = (Collection<String>) configuration.getOptionMap().get(SourceOption.NAME); @SuppressWarnings("unchecked") Collection<String> targets = (Collection<String>) configuration.getOptionMap().get(TargetOption.NAME); GraphService<TechnologyReferenceModel> technologyReferenceService = new GraphService<>(event.getGraphContext(), TechnologyReferenceModel.class); Function<String, TechnologyReferenceModel> createReferenceModel = (techID) -> { TechnologyReference reference = TechnologyReference.parseFromIDAndVersion(techID); TechnologyReferenceModel technologyReferenceModel = technologyReferenceService.create(); technologyReferenceModel.setTechnologyID(reference.getId()); technologyReferenceModel.setVersionRange(reference.getVersionRangeAsString()); return technologyReferenceModel; }; if (sources != null) { sources.forEach((sourceID) -> { configurationModel.addSourceTechnology(createReferenceModel.apply(sourceID)); }); } if (targets != null) { targets.forEach((targetID) -> { configurationModel.addTargetTechnology(createReferenceModel.apply(targetID)); }); } }