@@ -0,0 +1,2042 @@
+/*%0A * %3C!--%0A *   ~ Copyright 2015-2017 OpenCB%0A *   ~%0A *   ~ Licensed under the Apache License, Version 2.0 (the %22License%22);%0A *   ~ you may not use this file except in compliance with the License.%0A *   ~ You may obtain a copy of the License at%0A *   ~%0A *   ~     http://www.apache.org/licenses/LICENSE-2.0%0A *   ~%0A *   ~ Unless required by applicable law or agreed to in writing, software%0A *   ~ distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *   ~ See the License for the specific language governing permissions and%0A *   ~ limitations under the License.%0A *   --%3E%0A *%0A */%0A%0Apackage org.opencb.biodata.tools.clinical;%0A%0Aimport org.apache.commons.collections.CollectionUtils;%0Aimport org.opencb.biodata.models.clinical.interpretation.DiseasePanel;%0Aimport org.opencb.biodata.models.clinical.interpretation.ReportedVariant;%0Aimport org.opencb.biodata.models.variant.Variant;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.HashMap;%0Aimport java.util.List;%0Aimport java.util.Map;%0A%0Apublic abstract class ReportedVariantCreator %7B%0A%0A    public abstract List%3CReportedVariant%3E create(List%3CVariant%3E variants);%0A%0A    protected Map%3CString, List%3CString%3E%3E getGeneToPanelIdMap(List%3CDiseasePanel%3E diseasePanels) %7B%0A        Map%3CString, List%3CString%3E%3E geneToPanelIdMap = new HashMap%3C%3E();%0A        if (CollectionUtils.isNotEmpty(diseasePanels)) %7B%0A            for (DiseasePanel panel: diseasePanels) %7B%0A                for (DiseasePanel.GenePanel genePanel : panel.getGenes()) %7B%0A                    if (genePanel.getId() != null) %7B%0A                        if (!geneToPanelIdMap.containsKey(genePanel.getId())) %7B%0A                            geneToPanelIdMap.put(genePanel.getId(), new ArrayList%3C%3E());%0A                        %7D%0A                        geneToPanelIdMap.get(genePanel.getId()).add(panel.getId());%0A                    %7D%0A                    geneToPanelIdMap.put(genePanel.getId(), null);%0A                %7D%0A            %7D%0A        %7D%0A        return geneToPanelIdMap;%0A    %7D%0A%7D%0A

add new abstract class for the reported variant to variant creator