@Override
  protected SlotMappingInitializer createSlotMappingInitializer(String contentType) {

    if (GraphViewContentDisplayFactory.ID.equals(contentType)) {
      PresetSlotMappingInitializer initializer = new PresetSlotMappingInitializer();

      initializer.putSlotMapping(Graph.NODE_LABEL_SLOT, CONCEPT_GRAPH_LABEL_RESOLVER_FACTORY);
      initializer.putSlotMapping(
          Graph.NODE_BACKGROUND_COLOR, NODE_COLOR_BY_ONTOLOGY_RESOLVER_FACTORY);
      initializer.putSlotMapping(Graph.NODE_BORDER_COLOR, NODE_BORDER_COLOR_RESOLVER_FACTORY);

      return initializer;
    } else if (GraphOntologyOverviewViewContentDisplayFactory.ID.equals(contentType)) {
      PresetSlotMappingInitializer initializer = new PresetSlotMappingInitializer();

      initializer.putSlotMapping(Graph.NODE_LABEL_SLOT, CONCEPT_GRAPH_LABEL_RESOLVER_FACTORY);
      initializer.putSlotMapping(
          Graph.NODE_BACKGROUND_COLOR, NODE_COLOR_BY_ONTOLOGY_RESOLVER_FACTORY);
      initializer.putSlotMapping(Graph.NODE_BORDER_COLOR, NODE_BORDER_COLOR_RESOLVER_FACTORY);

      return initializer;
    } else if (ConceptMatrixViewContentDisplayFactory.ID.equals(contentType)) {
      PresetSlotMappingInitializer initializer = new PresetSlotMappingInitializer();

      initializer.putSlotMapping(NeoD3Matrix.LABEL_SLOT, MATRIX_LABEL_RESOLVER_FACTORY);
      initializer.putSlotMapping(NeoD3Matrix.COLOR, MATRIX_COLOR_RESOLVER_FACTORY);
      initializer.putSlotMapping(NeoD3Matrix.BORDER_COLOR, MATRIX_BORDER_COLOR_RESOLVER_FACTORY);

      return initializer;
    }

    return super.createSlotMappingInitializer(contentType);
  }
  // TODO FOR GRAPH only, create special parts
  @Override
  protected LightweightList<SidePanelSection> createSidePanelSections(
      String contentType,
      ViewContentDisplay contentDisplay,
      VisualMappingsControl visualMappingsControl,
      ResourceModel resourceModel,
      VisualizationModel visualizationModel) {

    if (GraphViewContentDisplayFactory.ID.equals(contentType)) {
      assert contentDisplay != null;

      LightweightList<SidePanelSection> sidePanelSections =
          CollectionFactory.createLightweightList();

      sidePanelSections.add(
          createConceptGraphNodesSidePanelSection(resourceModel, visualizationModel));
      sidePanelSections.add(createConceptGraphArcsSidePanelSection(contentDisplay));
      sidePanelSections.addAll(contentDisplay.getSidePanelSections());

      // temporarily removing the Comments view part
      // {
      // TextArea textArea = new TextArea();
      // textArea.setWidth("100%");
      // textArea.setHeight("100%");
      //
      // sidePanelSections
      // .add(new SidePanelSection("Comments", textArea));
      // }

      return sidePanelSections;
    } else if (GraphOntologyOverviewViewContentDisplayFactory.ID.equals(contentType)) {
      assert contentDisplay != null;

      LightweightList<SidePanelSection> sidePanelSections =
          CollectionFactory.createLightweightList();

      sidePanelSections.add(
          createOntologyGraphNodesSidePanelSection(resourceModel, visualizationModel));
      sidePanelSections.add(createOntologyGraphArcsSidePanelSection(contentDisplay));
      LightweightList<String> layoutList = CollectionFactory.createLightweightList();
      layoutList.add(GraphLayouts.CIRCLE_WITH_CENTRAL_NODE_LAYOUT);
      ViewContentDisplay delegate = ((DelegatingViewContentDisplay) contentDisplay).getDelegate();
      sidePanelSections.addAll(((Graph) delegate).getLimitedSidePanelLayoutSection(layoutList));

      // temporarily removing the Comments view part
      // {
      // TextArea textArea = new TextArea();
      // textArea.setWidth("100%");
      // textArea.setHeight("100%");
      //
      // sidePanelSections
      // .add(new SidePanelSection("Comments", textArea));
      // }

      return sidePanelSections;
    }

    return super.createSidePanelSections(
        contentType, contentDisplay, visualMappingsControl, resourceModel, visualizationModel);
  }
  @Override
  protected VisualMappingsControl createVisualMappingsControl(
      HasResourceCategorizer resourceGrouping,
      DefaultManagedSlotMappingConfiguration uiModel,
      String contentType) {

    if (GraphViewContentDisplayFactory.ID.equals(contentType)
        || GraphOntologyOverviewViewContentDisplayFactory.ID.equals(contentType)) {
      return new NullVisualMappingsControl();
    }

    return super.createVisualMappingsControl(resourceGrouping, uiModel, contentType);
  }