public VariantMetadata importMetaData(URI inputUri, StudyConfigurationManager scm) throws IOException { // Check if can be loaded Map<String, Integer> studies = scm.getStudies(QueryOptions.empty()); if (!studies.isEmpty()) { throw new IllegalStateException("Unable to import data if there are other loaded studies: " + studies); } // Load metadata VariantMetadata metadata = readMetadata(inputUri); List<StudyConfiguration> studyConfigurations = new VariantMetadataConverter().toStudyConfigurations(metadata); for (StudyConfiguration studyConfiguration : studyConfigurations) { processStudyConfiguration(studyConfiguration); scm.updateStudyConfiguration(studyConfiguration, QueryOptions.empty()); } return metadata; }