code: private void initEditorStates() {
  
          m_editorState = new HashMap<CmsMessageBundleEditorTypes.EditMode, EditorState>();
          List<TableProperty> cols = null;
          switch (m_bundleType) {
              case PROPERTY:
              case XML:
                  if (hasDescriptor()) { // bundle descriptor is present, keys are not editable in default mode, maybe master mode is available
                      m_editorState.put(CmsMessageBundleEditorTypes.EditMode.DEFAULT, getDefaultState());
                      if (hasMasterMode()) { // the bundle descriptor is editable
                          m_editorState.put(CmsMessageBundleEditorTypes.EditMode.MASTER, getMasterState());
                      }
                  } else { // no bundle descriptor given - implies no master mode
                      cols = new ArrayList<TableProperty>(1);
                      cols.add(TableProperty.KEY);
                      cols.add(TableProperty.TRANSLATION);
                      m_editorState.put(CmsMessageBundleEditorTypes.EditMode.DEFAULT, new EditorState(cols, true));
                  }
                  break;
              case DESCRIPTOR:
                  cols = new ArrayList<TableProperty>(3);
                  cols.add(TableProperty.KEY);
                  cols.add(TableProperty.DESCRIPTION);
                  cols.add(TableProperty.DEFAULT);
                  m_editorState.put(CmsMessageBundleEditorTypes.EditMode.DEFAULT, new EditorState(cols, true));
                  break;
              default:
                  throw new IllegalArgumentException();
          }
  
      }
docs: Initializes the editor states for the different modes, depending on the type of the opened file.