code: private Component createMainComponent() throws IOException, CmsException {
  
          VerticalLayout mainComponent = new VerticalLayout();
          mainComponent.setSizeFull();
          mainComponent.addStyleName("o-message-bundle-editor");
          m_table = createTable();
          Panel navigator = new Panel();
          navigator.setSizeFull();
          navigator.setContent(m_table);
          navigator.addActionHandler(new CmsMessageBundleEditorTypes.TableKeyboardHandler(m_table));
          navigator.addStyleName("v-panel-borderless");
  
          mainComponent.addComponent(m_options.getOptionsComponent());
          mainComponent.addComponent(navigator);
          mainComponent.setExpandRatio(navigator, 1f);
          m_options.updateShownOptions(m_model.hasMasterMode(), m_model.canAddKeys());
          return mainComponent;
      }
docs: Creates the main component of the editor with all sub-components.
  @return the completely filled main component of the editor.
  @throws IOException thrown if setting the table's content data source fails.
  @throws CmsException thrown if setting the table's content data source fails.