package jetbrains.mps.lang.plugin.structure;

/*Generated by MPS */

import jetbrains.mps.smodel.runtime.BaseStructureAspectDescriptor;
import jetbrains.mps.smodel.runtime.ConceptDescriptor;
import jetbrains.mps.smodel.runtime.EnumerationDescriptor;
import jetbrains.mps.smodel.runtime.ConstrainedStringDatatypeDescriptor;
import jetbrains.mps.smodel.runtime.ConstrainedStringDatatypeDescriptorImpl;
import java.util.Collection;
import java.util.Arrays;
import org.jetbrains.annotations.Nullable;
import jetbrains.mps.smodel.adapter.ids.SConceptId;
import jetbrains.mps.smodel.runtime.DataTypeDescriptor;
import org.jetbrains.mps.openapi.language.SAbstractConcept;
import jetbrains.mps.smodel.runtime.impl.ConceptDescriptorBuilder2;
import jetbrains.mps.smodel.runtime.ConceptKind;
import jetbrains.mps.smodel.runtime.StaticScope;
import jetbrains.mps.smodel.adapter.ids.PrimitiveTypeId;
import jetbrains.mps.smodel.adapter.ids.MetaIdFactory;

public class StructureAspectDescriptor extends BaseStructureAspectDescriptor {
  /*package*/ final ConceptDescriptor myConceptAbstractToolKeystroke = createDescriptorForAbstractToolKeystroke();
  /*package*/ final ConceptDescriptor myConceptAbstractToolShortcut = createDescriptorForAbstractToolShortcut();
  /*package*/ final ConceptDescriptor myConceptActionAccessOperation = createDescriptorForActionAccessOperation();
  /*package*/ final ConceptDescriptor myConceptActionConstructionParameterDeclaration = createDescriptorForActionConstructionParameterDeclaration();
  /*package*/ final ConceptDescriptor myConceptActionConstructorParameterReferenceOperation = createDescriptorForActionConstructorParameterReferenceOperation();
  /*package*/ final ConceptDescriptor myConceptActionDataParameterDeclaration = createDescriptorForActionDataParameterDeclaration();
  /*package*/ final ConceptDescriptor myConceptActionDataParameterReferenceOperation = createDescriptorForActionDataParameterReferenceOperation();
  /*package*/ final ConceptDescriptor myConceptActionDeclaration = createDescriptorForActionDeclaration();
  /*package*/ final ConceptDescriptor myConceptActionGroupDeclaration = createDescriptorForActionGroupDeclaration();
  /*package*/ final ConceptDescriptor myConceptActionGroupMember = createDescriptorForActionGroupMember();
  /*package*/ final ConceptDescriptor myConceptActionGroupRef = createDescriptorForActionGroupRef();
  /*package*/ final ConceptDescriptor myConceptActionInstance = createDescriptorForActionInstance();
  /*package*/ final ConceptDescriptor myConceptActionParameter = createDescriptorForActionParameter();
  /*package*/ final ConceptDescriptor myConceptActionParameterCondition = createDescriptorForActionParameterCondition();
  /*package*/ final ConceptDescriptor myConceptActionParameterDeclaration = createDescriptorForActionParameterDeclaration();
  /*package*/ final ConceptDescriptor myConceptActionParameterReference = createDescriptorForActionParameterReference();
  /*package*/ final ConceptDescriptor myConceptActionParameterReferenceOperation = createDescriptorForActionParameterReferenceOperation();
  /*package*/ final ConceptDescriptor myConceptActionPlaceSpecification = createDescriptorForActionPlaceSpecification();
  /*package*/ final ConceptDescriptor myConceptActionReference = createDescriptorForActionReference();
  /*package*/ final ConceptDescriptor myConceptActionType = createDescriptorForActionType();
  /*package*/ final ConceptDescriptor myConceptAddElementStatement = createDescriptorForAddElementStatement();
  /*package*/ final ConceptDescriptor myConceptAddKeystrokeStatement = createDescriptorForAddKeystrokeStatement();
  /*package*/ final ConceptDescriptor myConceptAddStatement = createDescriptorForAddStatement();
  /*package*/ final ConceptDescriptor myConceptAddTabOperation = createDescriptorForAddTabOperation();
  /*package*/ final ConceptDescriptor myConceptBaseNodeBlock = createDescriptorForBaseNodeBlock();
  /*package*/ final ConceptDescriptor myConceptBaseProjectOperation = createDescriptorForBaseProjectOperation();
  /*package*/ final ConceptDescriptor myConceptBaseToolDeclaration = createDescriptorForBaseToolDeclaration();
  /*package*/ final ConceptDescriptor myConceptBuildGroupBlock = createDescriptorForBuildGroupBlock();
  /*package*/ final ConceptDescriptor myConceptButtonCreator = createDescriptorForButtonCreator();
  /*package*/ final ConceptDescriptor myConceptCloseTabOperation = createDescriptorForCloseTabOperation();
  /*package*/ final ConceptDescriptor myConceptConceptCondition = createDescriptorForConceptCondition();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_AnActionEvent = createDescriptorForConceptFunctionParameter_AnActionEvent();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_CreatorType = createDescriptorForConceptFunctionParameter_CreatorType();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_IModule = createDescriptorForConceptFunctionParameter_IModule();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_MPSProject = createDescriptorForConceptFunctionParameter_MPSProject();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_Model = createDescriptorForConceptFunctionParameter_Model();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_NodeReference = createDescriptorForConceptFunctionParameter_NodeReference();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_PreferencePage_component = createDescriptorForConceptFunctionParameter_PreferencePage_component();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_Project = createDescriptorForConceptFunctionParameter_Project();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_SConceptClass = createDescriptorForConceptFunctionParameter_SConceptClass();
  /*package*/ final ConceptDescriptor myConceptConceptFunctionParameter_node = createDescriptorForConceptFunctionParameter_node();
  /*package*/ final ConceptDescriptor myConceptConceptsBlock = createDescriptorForConceptsBlock();
  /*package*/ final ConceptDescriptor myConceptCreateBlock = createDescriptorForCreateBlock();
  /*package*/ final ConceptDescriptor myConceptCreateNodeAspectBlock = createDescriptorForCreateNodeAspectBlock();
  /*package*/ final ConceptDescriptor myConceptCreateTabBlock = createDescriptorForCreateTabBlock();
  /*package*/ final ConceptDescriptor myConceptCustomCondition = createDescriptorForCustomCondition();
  /*package*/ final ConceptDescriptor myConceptCustomToolShortcut = createDescriptorForCustomToolShortcut();
  /*package*/ final ConceptDescriptor myConceptDisposeBlock = createDescriptorForDisposeBlock();
  /*package*/ final ConceptDescriptor myConceptDoUpdateBlock = createDescriptorForDoUpdateBlock();
  /*package*/ final ConceptDescriptor myConceptEditableModel = createDescriptorForEditableModel();
  /*package*/ final ConceptDescriptor myConceptEditorTab = createDescriptorForEditorTab();
  /*package*/ final ConceptDescriptor myConceptEditorTabReference = createDescriptorForEditorTabReference();
  /*package*/ final ConceptDescriptor myConceptElementListContents = createDescriptorForElementListContents();
  /*package*/ final ConceptDescriptor myConceptEnumerateChildrenFunction = createDescriptorForEnumerateChildrenFunction();
  /*package*/ final ConceptDescriptor myConceptEverywhereActionPlace = createDescriptorForEverywhereActionPlace();
  /*package*/ final ConceptDescriptor myConceptExecuteBlock = createDescriptorForExecuteBlock();
  /*package*/ final ConceptDescriptor myConceptGetComponentBlock = createDescriptorForGetComponentBlock();
  /*package*/ final ConceptDescriptor myConceptGetGroupOperation = createDescriptorForGetGroupOperation();
  /*package*/ final ConceptDescriptor myConceptGetNodeBlock = createDescriptorForGetNodeBlock();
  /*package*/ final ConceptDescriptor myConceptGetNodesBlock = createDescriptorForGetNodesBlock();
  /*package*/ final ConceptDescriptor myConceptGetSelectedTabOperation = createDescriptorForGetSelectedTabOperation();
  /*package*/ final ConceptDescriptor myConceptGroupAccessOperation = createDescriptorForGroupAccessOperation();
  /*package*/ final ConceptDescriptor myConceptGroupAnchor = createDescriptorForGroupAnchor();
  /*package*/ final ConceptDescriptor myConceptGroupContents = createDescriptorForGroupContents();
  /*package*/ final ConceptDescriptor myConceptGroupType = createDescriptorForGroupType();
  /*package*/ final ConceptDescriptor myConceptIdeaActionsDescriptor = createDescriptorForIdeaActionsDescriptor();
  /*package*/ final ConceptDescriptor myConceptIdeaConfigurationXml = createDescriptorForIdeaConfigurationXml();
  /*package*/ final ConceptDescriptor myConceptIdeaInitializerDescriptor = createDescriptorForIdeaInitializerDescriptor();
  /*package*/ final ConceptDescriptor myConceptIdeaPluginDependency = createDescriptorForIdeaPluginDependency();
  /*package*/ final ConceptDescriptor myConceptInitBlock = createDescriptorForInitBlock();
  /*package*/ final ConceptDescriptor myConceptInterfaceExtentionPoint = createDescriptorForInterfaceExtentionPoint();
  /*package*/ final ConceptDescriptor myConceptInterfaceGroup = createDescriptorForInterfaceGroup();
  /*package*/ final ConceptDescriptor myConceptIsApplicableBlock = createDescriptorForIsApplicableBlock();
  /*package*/ final ConceptDescriptor myConceptIsApplicableTabBlock = createDescriptorForIsApplicableTabBlock();
  /*package*/ final ConceptDescriptor myConceptIsInstanceCondition = createDescriptorForIsInstanceCondition();
  /*package*/ final ConceptDescriptor myConceptKeyMapKeystroke = createDescriptorForKeyMapKeystroke();
  /*package*/ final ConceptDescriptor myConceptKeyStrokeType = createDescriptorForKeyStrokeType();
  /*package*/ final ConceptDescriptor myConceptKeymapChangesDeclaration = createDescriptorForKeymapChangesDeclaration();
  /*package*/ final ConceptDescriptor myConceptKeymapRef = createDescriptorForKeymapRef();
  /*package*/ final ConceptDescriptor myConceptListenBlock = createDescriptorForListenBlock();
  /*package*/ final ConceptDescriptor myConceptMPSPluginDependency = createDescriptorForMPSPluginDependency();
  /*package*/ final ConceptDescriptor myConceptModificationStatement = createDescriptorForModificationStatement();
  /*package*/ final ConceptDescriptor myConceptNodesBlock = createDescriptorForNodesBlock();
  /*package*/ final ConceptDescriptor myConceptNonDumbAwareActions = createDescriptorForNonDumbAwareActions();
  /*package*/ final ConceptDescriptor myConceptNumberToolShortcut = createDescriptorForNumberToolShortcut();
  /*package*/ final ConceptDescriptor myConceptOnAfterReadBlock = createDescriptorForOnAfterReadBlock();
  /*package*/ final ConceptDescriptor myConceptOnBeforeWriteBlock = createDescriptorForOnBeforeWriteBlock();
  /*package*/ final ConceptDescriptor myConceptOrder = createDescriptorForOrder();
  /*package*/ final ConceptDescriptor myConceptOrderConstraints = createDescriptorForOrderConstraints();
  /*package*/ final ConceptDescriptor myConceptOrderReference = createDescriptorForOrderReference();
  /*package*/ final ConceptDescriptor myConceptParameterCondition_ConceptFunctionParameter = createDescriptorForParameterCondition_ConceptFunctionParameter();
  /*package*/ final ConceptDescriptor myConceptParameterizedShortcutChange = createDescriptorForParameterizedShortcutChange();
  /*package*/ final ConceptDescriptor myConceptPersistentPropertyDeclaration = createDescriptorForPersistentPropertyDeclaration();
  /*package*/ final ConceptDescriptor myConceptPersistentPropertyReference = createDescriptorForPersistentPropertyReference();
  /*package*/ final ConceptDescriptor myConceptPinTabOperation = createDescriptorForPinTabOperation();
  /*package*/ final ConceptDescriptor myConceptPluginDependency = createDescriptorForPluginDependency();
  /*package*/ final ConceptDescriptor myConceptPopupCreator = createDescriptorForPopupCreator();
  /*package*/ final ConceptDescriptor myConceptPreferencePage = createDescriptorForPreferencePage();
  /*package*/ final ConceptDescriptor myConceptPreferencePageCommitBlock = createDescriptorForPreferencePageCommitBlock();
  /*package*/ final ConceptDescriptor myConceptPreferencePageIsModifiedBlock = createDescriptorForPreferencePageIsModifiedBlock();
  /*package*/ final ConceptDescriptor myConceptPreferencePageResetBlock = createDescriptorForPreferencePageResetBlock();
  /*package*/ final ConceptDescriptor myConceptPreferencesComponentDeclaration = createDescriptorForPreferencesComponentDeclaration();
  /*package*/ final ConceptDescriptor myConceptPreferencesComponentType = createDescriptorForPreferencesComponentType();
  /*package*/ final ConceptDescriptor myConceptRequiredCondition = createDescriptorForRequiredCondition();
  /*package*/ final ConceptDescriptor myConceptSeparator = createDescriptorForSeparator();
  /*package*/ final ConceptDescriptor myConceptShortcutChange = createDescriptorForShortcutChange();
  /*package*/ final ConceptDescriptor myConceptSimpleActionPlace = createDescriptorForSimpleActionPlace();
  /*package*/ final ConceptDescriptor myConceptSimpleShortcutChange = createDescriptorForSimpleShortcutChange();
  /*package*/ final ConceptDescriptor myConceptSmartDisposeClosureParameterDeclaration = createDescriptorForSmartDisposeClosureParameterDeclaration();
  /*package*/ final ConceptDescriptor myConceptTabbedToolDeclaration = createDescriptorForTabbedToolDeclaration();
  /*package*/ final ConceptDescriptor myConceptTabbedToolOperation = createDescriptorForTabbedToolOperation();
  /*package*/ final ConceptDescriptor myConceptToStringConceptFunction = createDescriptorForToStringConceptFunction();
  /*package*/ final ConceptDescriptor myConceptToStringParameter = createDescriptorForToStringParameter();
  /*package*/ final ConceptDescriptor myConceptToolActionPlace = createDescriptorForToolActionPlace();
  /*package*/ final ConceptDescriptor myConceptToolDeclaration = createDescriptorForToolDeclaration();
  /*package*/ final ConceptDescriptor myConceptToolInstanceExpression = createDescriptorForToolInstanceExpression();
  /*package*/ final ConceptDescriptor myConceptToolKeystroke = createDescriptorForToolKeystroke();
  /*package*/ final ConceptDescriptor myConceptToolTab = createDescriptorForToolTab();
  /*package*/ final ConceptDescriptor myConceptToolType = createDescriptorForToolType();
  /*package*/ final ConceptDescriptor myConceptToolbarCreator = createDescriptorForToolbarCreator();
  /*package*/ final ConceptDescriptor myConceptUnpinTabOperation = createDescriptorForUnpinTabOperation();
  /*package*/ final ConceptDescriptor myConceptUpdateBlock = createDescriptorForUpdateBlock();
  /*package*/ final ConceptDescriptor myConceptUpdateGroupBlock = createDescriptorForUpdateGroupBlock();
  /*package*/ final ConceptDescriptor myConceptUpdateGroupFunction = createDescriptorForUpdateGroupFunction();
  /*package*/ final EnumerationDescriptor myEnumerationActionAccess = new EnumerationDescriptor_ActionAccess();
  /*package*/ final EnumerationDescriptor myEnumerationKeyMapChange = new EnumerationDescriptor_KeyMapChange();
  /*package*/ final EnumerationDescriptor myEnumerationKeymap = new EnumerationDescriptor_Keymap();
  /*package*/ final EnumerationDescriptor myEnumerationToolPosition = new EnumerationDescriptor_ToolPosition();
  /*package*/ final ConstrainedStringDatatypeDescriptor myCSDatatypedigit = new ConstrainedStringDatatypeDescriptorImpl(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11a53510287L, "digit", "r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1212578595463", "[0-9]");
  /*package*/ final ConstrainedStringDatatypeDescriptor myCSDatatypemnemonic = new ConstrainedStringDatatypeDescriptorImpl(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b7ee16efL, "mnemonic", "r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1205676676847", ".|");
  private final LanguageConceptSwitch myIndexSwitch;

  public StructureAspectDescriptor() {
    myIndexSwitch = new LanguageConceptSwitch();
  }


  @Override
  public void reportDependencies(jetbrains.mps.smodel.runtime.StructureAspectDescriptor.Dependencies deps) {
    deps.extendedLanguage(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, "jetbrains.mps.lang.core");
    deps.extendedLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage");
    deps.extendedLanguage(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, "jetbrains.mps.baseLanguage.classifiers");
    deps.extendedLanguage(0xfd3920347849419dL, 0x907112563d152375L, "jetbrains.mps.baseLanguage.closures");
    deps.aggregatedLanguage(0x982eb8df2c964bd7L, 0x996311712ea622e5L, "jetbrains.mps.lang.resources");
    deps.aggregatedLanguage(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, "jetbrains.mps.baseLanguage.classifiers");
    deps.aggregatedLanguage(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, "jetbrains.mps.baseLanguage");
  }

  @Override
  public Collection<ConceptDescriptor> getDescriptors() {
    return Arrays.asList(myConceptAbstractToolKeystroke, myConceptAbstractToolShortcut, myConceptActionAccessOperation, myConceptActionConstructionParameterDeclaration, myConceptActionConstructorParameterReferenceOperation, myConceptActionDataParameterDeclaration, myConceptActionDataParameterReferenceOperation, myConceptActionDeclaration, myConceptActionGroupDeclaration, myConceptActionGroupMember, myConceptActionGroupRef, myConceptActionInstance, myConceptActionParameter, myConceptActionParameterCondition, myConceptActionParameterDeclaration, myConceptActionParameterReference, myConceptActionParameterReferenceOperation, myConceptActionPlaceSpecification, myConceptActionReference, myConceptActionType, myConceptAddElementStatement, myConceptAddKeystrokeStatement, myConceptAddStatement, myConceptAddTabOperation, myConceptBaseNodeBlock, myConceptBaseProjectOperation, myConceptBaseToolDeclaration, myConceptBuildGroupBlock, myConceptButtonCreator, myConceptCloseTabOperation, myConceptConceptCondition, myConceptConceptFunctionParameter_AnActionEvent, myConceptConceptFunctionParameter_CreatorType, myConceptConceptFunctionParameter_IModule, myConceptConceptFunctionParameter_MPSProject, myConceptConceptFunctionParameter_Model, myConceptConceptFunctionParameter_NodeReference, myConceptConceptFunctionParameter_PreferencePage_component, myConceptConceptFunctionParameter_Project, myConceptConceptFunctionParameter_SConceptClass, myConceptConceptFunctionParameter_node, myConceptConceptsBlock, myConceptCreateBlock, myConceptCreateNodeAspectBlock, myConceptCreateTabBlock, myConceptCustomCondition, myConceptCustomToolShortcut, myConceptDisposeBlock, myConceptDoUpdateBlock, myConceptEditableModel, myConceptEditorTab, myConceptEditorTabReference, myConceptElementListContents, myConceptEnumerateChildrenFunction, myConceptEverywhereActionPlace, myConceptExecuteBlock, myConceptGetComponentBlock, myConceptGetGroupOperation, myConceptGetNodeBlock, myConceptGetNodesBlock, myConceptGetSelectedTabOperation, myConceptGroupAccessOperation, myConceptGroupAnchor, myConceptGroupContents, myConceptGroupType, myConceptIdeaActionsDescriptor, myConceptIdeaConfigurationXml, myConceptIdeaInitializerDescriptor, myConceptIdeaPluginDependency, myConceptInitBlock, myConceptInterfaceExtentionPoint, myConceptInterfaceGroup, myConceptIsApplicableBlock, myConceptIsApplicableTabBlock, myConceptIsInstanceCondition, myConceptKeyMapKeystroke, myConceptKeyStrokeType, myConceptKeymapChangesDeclaration, myConceptKeymapRef, myConceptListenBlock, myConceptMPSPluginDependency, myConceptModificationStatement, myConceptNodesBlock, myConceptNonDumbAwareActions, myConceptNumberToolShortcut, myConceptOnAfterReadBlock, myConceptOnBeforeWriteBlock, myConceptOrder, myConceptOrderConstraints, myConceptOrderReference, myConceptParameterCondition_ConceptFunctionParameter, myConceptParameterizedShortcutChange, myConceptPersistentPropertyDeclaration, myConceptPersistentPropertyReference, myConceptPinTabOperation, myConceptPluginDependency, myConceptPopupCreator, myConceptPreferencePage, myConceptPreferencePageCommitBlock, myConceptPreferencePageIsModifiedBlock, myConceptPreferencePageResetBlock, myConceptPreferencesComponentDeclaration, myConceptPreferencesComponentType, myConceptRequiredCondition, myConceptSeparator, myConceptShortcutChange, myConceptSimpleActionPlace, myConceptSimpleShortcutChange, myConceptSmartDisposeClosureParameterDeclaration, myConceptTabbedToolDeclaration, myConceptTabbedToolOperation, myConceptToStringConceptFunction, myConceptToStringParameter, myConceptToolActionPlace, myConceptToolDeclaration, myConceptToolInstanceExpression, myConceptToolKeystroke, myConceptToolTab, myConceptToolType, myConceptToolbarCreator, myConceptUnpinTabOperation, myConceptUpdateBlock, myConceptUpdateGroupBlock, myConceptUpdateGroupFunction);
  }

  @Override
  @Nullable
  public ConceptDescriptor getDescriptor(SConceptId id) {
    switch (myIndexSwitch.index(id)) {
      case LanguageConceptSwitch.AbstractToolKeystroke:
        return myConceptAbstractToolKeystroke;
      case LanguageConceptSwitch.AbstractToolShortcut:
        return myConceptAbstractToolShortcut;
      case LanguageConceptSwitch.ActionAccessOperation:
        return myConceptActionAccessOperation;
      case LanguageConceptSwitch.ActionConstructionParameterDeclaration:
        return myConceptActionConstructionParameterDeclaration;
      case LanguageConceptSwitch.ActionConstructorParameterReferenceOperation:
        return myConceptActionConstructorParameterReferenceOperation;
      case LanguageConceptSwitch.ActionDataParameterDeclaration:
        return myConceptActionDataParameterDeclaration;
      case LanguageConceptSwitch.ActionDataParameterReferenceOperation:
        return myConceptActionDataParameterReferenceOperation;
      case LanguageConceptSwitch.ActionDeclaration:
        return myConceptActionDeclaration;
      case LanguageConceptSwitch.ActionGroupDeclaration:
        return myConceptActionGroupDeclaration;
      case LanguageConceptSwitch.ActionGroupMember:
        return myConceptActionGroupMember;
      case LanguageConceptSwitch.ActionGroupRef:
        return myConceptActionGroupRef;
      case LanguageConceptSwitch.ActionInstance:
        return myConceptActionInstance;
      case LanguageConceptSwitch.ActionParameter:
        return myConceptActionParameter;
      case LanguageConceptSwitch.ActionParameterCondition:
        return myConceptActionParameterCondition;
      case LanguageConceptSwitch.ActionParameterDeclaration:
        return myConceptActionParameterDeclaration;
      case LanguageConceptSwitch.ActionParameterReference:
        return myConceptActionParameterReference;
      case LanguageConceptSwitch.ActionParameterReferenceOperation:
        return myConceptActionParameterReferenceOperation;
      case LanguageConceptSwitch.ActionPlaceSpecification:
        return myConceptActionPlaceSpecification;
      case LanguageConceptSwitch.ActionReference:
        return myConceptActionReference;
      case LanguageConceptSwitch.ActionType:
        return myConceptActionType;
      case LanguageConceptSwitch.AddElementStatement:
        return myConceptAddElementStatement;
      case LanguageConceptSwitch.AddKeystrokeStatement:
        return myConceptAddKeystrokeStatement;
      case LanguageConceptSwitch.AddStatement:
        return myConceptAddStatement;
      case LanguageConceptSwitch.AddTabOperation:
        return myConceptAddTabOperation;
      case LanguageConceptSwitch.BaseNodeBlock:
        return myConceptBaseNodeBlock;
      case LanguageConceptSwitch.BaseProjectOperation:
        return myConceptBaseProjectOperation;
      case LanguageConceptSwitch.BaseToolDeclaration:
        return myConceptBaseToolDeclaration;
      case LanguageConceptSwitch.BuildGroupBlock:
        return myConceptBuildGroupBlock;
      case LanguageConceptSwitch.ButtonCreator:
        return myConceptButtonCreator;
      case LanguageConceptSwitch.CloseTabOperation:
        return myConceptCloseTabOperation;
      case LanguageConceptSwitch.ConceptCondition:
        return myConceptConceptCondition;
      case LanguageConceptSwitch.ConceptFunctionParameter_AnActionEvent:
        return myConceptConceptFunctionParameter_AnActionEvent;
      case LanguageConceptSwitch.ConceptFunctionParameter_CreatorType:
        return myConceptConceptFunctionParameter_CreatorType;
      case LanguageConceptSwitch.ConceptFunctionParameter_IModule:
        return myConceptConceptFunctionParameter_IModule;
      case LanguageConceptSwitch.ConceptFunctionParameter_MPSProject:
        return myConceptConceptFunctionParameter_MPSProject;
      case LanguageConceptSwitch.ConceptFunctionParameter_Model:
        return myConceptConceptFunctionParameter_Model;
      case LanguageConceptSwitch.ConceptFunctionParameter_NodeReference:
        return myConceptConceptFunctionParameter_NodeReference;
      case LanguageConceptSwitch.ConceptFunctionParameter_PreferencePage_component:
        return myConceptConceptFunctionParameter_PreferencePage_component;
      case LanguageConceptSwitch.ConceptFunctionParameter_Project:
        return myConceptConceptFunctionParameter_Project;
      case LanguageConceptSwitch.ConceptFunctionParameter_SConceptClass:
        return myConceptConceptFunctionParameter_SConceptClass;
      case LanguageConceptSwitch.ConceptFunctionParameter_node:
        return myConceptConceptFunctionParameter_node;
      case LanguageConceptSwitch.ConceptsBlock:
        return myConceptConceptsBlock;
      case LanguageConceptSwitch.CreateBlock:
        return myConceptCreateBlock;
      case LanguageConceptSwitch.CreateNodeAspectBlock:
        return myConceptCreateNodeAspectBlock;
      case LanguageConceptSwitch.CreateTabBlock:
        return myConceptCreateTabBlock;
      case LanguageConceptSwitch.CustomCondition:
        return myConceptCustomCondition;
      case LanguageConceptSwitch.CustomToolShortcut:
        return myConceptCustomToolShortcut;
      case LanguageConceptSwitch.DisposeBlock:
        return myConceptDisposeBlock;
      case LanguageConceptSwitch.DoUpdateBlock:
        return myConceptDoUpdateBlock;
      case LanguageConceptSwitch.EditableModel:
        return myConceptEditableModel;
      case LanguageConceptSwitch.EditorTab:
        return myConceptEditorTab;
      case LanguageConceptSwitch.EditorTabReference:
        return myConceptEditorTabReference;
      case LanguageConceptSwitch.ElementListContents:
        return myConceptElementListContents;
      case LanguageConceptSwitch.EnumerateChildrenFunction:
        return myConceptEnumerateChildrenFunction;
      case LanguageConceptSwitch.EverywhereActionPlace:
        return myConceptEverywhereActionPlace;
      case LanguageConceptSwitch.ExecuteBlock:
        return myConceptExecuteBlock;
      case LanguageConceptSwitch.GetComponentBlock:
        return myConceptGetComponentBlock;
      case LanguageConceptSwitch.GetGroupOperation:
        return myConceptGetGroupOperation;
      case LanguageConceptSwitch.GetNodeBlock:
        return myConceptGetNodeBlock;
      case LanguageConceptSwitch.GetNodesBlock:
        return myConceptGetNodesBlock;
      case LanguageConceptSwitch.GetSelectedTabOperation:
        return myConceptGetSelectedTabOperation;
      case LanguageConceptSwitch.GroupAccessOperation:
        return myConceptGroupAccessOperation;
      case LanguageConceptSwitch.GroupAnchor:
        return myConceptGroupAnchor;
      case LanguageConceptSwitch.GroupContents:
        return myConceptGroupContents;
      case LanguageConceptSwitch.GroupType:
        return myConceptGroupType;
      case LanguageConceptSwitch.IdeaActionsDescriptor:
        return myConceptIdeaActionsDescriptor;
      case LanguageConceptSwitch.IdeaConfigurationXml:
        return myConceptIdeaConfigurationXml;
      case LanguageConceptSwitch.IdeaInitializerDescriptor:
        return myConceptIdeaInitializerDescriptor;
      case LanguageConceptSwitch.IdeaPluginDependency:
        return myConceptIdeaPluginDependency;
      case LanguageConceptSwitch.InitBlock:
        return myConceptInitBlock;
      case LanguageConceptSwitch.InterfaceExtentionPoint:
        return myConceptInterfaceExtentionPoint;
      case LanguageConceptSwitch.InterfaceGroup:
        return myConceptInterfaceGroup;
      case LanguageConceptSwitch.IsApplicableBlock:
        return myConceptIsApplicableBlock;
      case LanguageConceptSwitch.IsApplicableTabBlock:
        return myConceptIsApplicableTabBlock;
      case LanguageConceptSwitch.IsInstanceCondition:
        return myConceptIsInstanceCondition;
      case LanguageConceptSwitch.KeyMapKeystroke:
        return myConceptKeyMapKeystroke;
      case LanguageConceptSwitch.KeyStrokeType:
        return myConceptKeyStrokeType;
      case LanguageConceptSwitch.KeymapChangesDeclaration:
        return myConceptKeymapChangesDeclaration;
      case LanguageConceptSwitch.KeymapRef:
        return myConceptKeymapRef;
      case LanguageConceptSwitch.ListenBlock:
        return myConceptListenBlock;
      case LanguageConceptSwitch.MPSPluginDependency:
        return myConceptMPSPluginDependency;
      case LanguageConceptSwitch.ModificationStatement:
        return myConceptModificationStatement;
      case LanguageConceptSwitch.NodesBlock:
        return myConceptNodesBlock;
      case LanguageConceptSwitch.NonDumbAwareActions:
        return myConceptNonDumbAwareActions;
      case LanguageConceptSwitch.NumberToolShortcut:
        return myConceptNumberToolShortcut;
      case LanguageConceptSwitch.OnAfterReadBlock:
        return myConceptOnAfterReadBlock;
      case LanguageConceptSwitch.OnBeforeWriteBlock:
        return myConceptOnBeforeWriteBlock;
      case LanguageConceptSwitch.Order:
        return myConceptOrder;
      case LanguageConceptSwitch.OrderConstraints:
        return myConceptOrderConstraints;
      case LanguageConceptSwitch.OrderReference:
        return myConceptOrderReference;
      case LanguageConceptSwitch.ParameterCondition_ConceptFunctionParameter:
        return myConceptParameterCondition_ConceptFunctionParameter;
      case LanguageConceptSwitch.ParameterizedShortcutChange:
        return myConceptParameterizedShortcutChange;
      case LanguageConceptSwitch.PersistentPropertyDeclaration:
        return myConceptPersistentPropertyDeclaration;
      case LanguageConceptSwitch.PersistentPropertyReference:
        return myConceptPersistentPropertyReference;
      case LanguageConceptSwitch.PinTabOperation:
        return myConceptPinTabOperation;
      case LanguageConceptSwitch.PluginDependency:
        return myConceptPluginDependency;
      case LanguageConceptSwitch.PopupCreator:
        return myConceptPopupCreator;
      case LanguageConceptSwitch.PreferencePage:
        return myConceptPreferencePage;
      case LanguageConceptSwitch.PreferencePageCommitBlock:
        return myConceptPreferencePageCommitBlock;
      case LanguageConceptSwitch.PreferencePageIsModifiedBlock:
        return myConceptPreferencePageIsModifiedBlock;
      case LanguageConceptSwitch.PreferencePageResetBlock:
        return myConceptPreferencePageResetBlock;
      case LanguageConceptSwitch.PreferencesComponentDeclaration:
        return myConceptPreferencesComponentDeclaration;
      case LanguageConceptSwitch.PreferencesComponentType:
        return myConceptPreferencesComponentType;
      case LanguageConceptSwitch.RequiredCondition:
        return myConceptRequiredCondition;
      case LanguageConceptSwitch.Separator:
        return myConceptSeparator;
      case LanguageConceptSwitch.ShortcutChange:
        return myConceptShortcutChange;
      case LanguageConceptSwitch.SimpleActionPlace:
        return myConceptSimpleActionPlace;
      case LanguageConceptSwitch.SimpleShortcutChange:
        return myConceptSimpleShortcutChange;
      case LanguageConceptSwitch.SmartDisposeClosureParameterDeclaration:
        return myConceptSmartDisposeClosureParameterDeclaration;
      case LanguageConceptSwitch.TabbedToolDeclaration:
        return myConceptTabbedToolDeclaration;
      case LanguageConceptSwitch.TabbedToolOperation:
        return myConceptTabbedToolOperation;
      case LanguageConceptSwitch.ToStringConceptFunction:
        return myConceptToStringConceptFunction;
      case LanguageConceptSwitch.ToStringParameter:
        return myConceptToStringParameter;
      case LanguageConceptSwitch.ToolActionPlace:
        return myConceptToolActionPlace;
      case LanguageConceptSwitch.ToolDeclaration:
        return myConceptToolDeclaration;
      case LanguageConceptSwitch.ToolInstanceExpression:
        return myConceptToolInstanceExpression;
      case LanguageConceptSwitch.ToolKeystroke:
        return myConceptToolKeystroke;
      case LanguageConceptSwitch.ToolTab:
        return myConceptToolTab;
      case LanguageConceptSwitch.ToolType:
        return myConceptToolType;
      case LanguageConceptSwitch.ToolbarCreator:
        return myConceptToolbarCreator;
      case LanguageConceptSwitch.UnpinTabOperation:
        return myConceptUnpinTabOperation;
      case LanguageConceptSwitch.UpdateBlock:
        return myConceptUpdateBlock;
      case LanguageConceptSwitch.UpdateGroupBlock:
        return myConceptUpdateGroupBlock;
      case LanguageConceptSwitch.UpdateGroupFunction:
        return myConceptUpdateGroupFunction;
      default:
        return null;
    }
  }

  @Override
  public Collection<DataTypeDescriptor> getDataTypeDescriptors() {
    return Arrays.asList(myEnumerationActionAccess, myEnumerationKeyMapChange, myEnumerationKeymap, myEnumerationToolPosition, myCSDatatypedigit, myCSDatatypemnemonic);
  }

  /*package*/ int internalIndex(SAbstractConcept c) {
    return myIndexSwitch.index(c);
  }

  private static ConceptDescriptor createDescriptorForAbstractToolKeystroke() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "AbstractToolKeystroke", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843e384caL);
    b.class_(false, true, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/471625927506494666");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAbstractToolShortcut() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "AbstractToolShortcut", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b5f981L);
    b.class_(false, true, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/471625927503509889");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionAccessOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionAccessOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x2c7cd89ac8d0060cL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3205675194086589964");
    b.version(3);
    b.associate("action", 0x2c7cd89ac8d14570L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca87c38L).optional(false).origin("3205675194086671728").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionConstructionParameterDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionConstructionParameterDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11daf6d2bdcL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.classifiers.structure.DefaultClassifierFieldDeclaration
    b.super_(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x11aa7fc0293L);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6becc0L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1227008846812");
    b.version(3);
    b.aggregate("toStringFunction", 0x11db00a8280L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11db00924aaL).optional(true).ordered(true).multiple(false).origin("1227019158144").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionConstructorParameterReferenceOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionConstructorParameterReferenceOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11daf6e60e3L);
    b.class_(false, false, false);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1227008925923");
    b.version(3);
    b.associate("declaration", 0x11daf6f626eL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11daf6d2bdcL).optional(true).origin("1227008991854").specialize(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L, 0x118bcb657ecL).done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionDataParameterDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionDataParameterDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b69e025e0L);
    b.class_(false, false, false);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6becc0L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b737a6b7cL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1217252042208");
    b.version(3);
    b.associate("key", 0x11b69e95df5L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93c84351fL).optional(false).origin("1217252646389").done();
    b.alias("simple parameter (java class)");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionDataParameterReferenceOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionDataParameterReferenceOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b69e60be0L);
    b.class_(false, false, false);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1217252428768");
    b.version(3);
    b.associate("parameterDeclaration", 0x11b69e60be3L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b69e025e0L).optional(false).origin("1217252428771").specialize(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L, 0x118bcb657ecL).done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca87c38L);
    b.class_(false, false, true);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6b2af5L);
    b.parent(0xfe9d76d7580945c9L, 0xae28a40915b4d6ffL, 0x433c3c31e7218f38L);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x33d23ee961a0cbf3L);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x2f16f1b357e19f42L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203071646776");
    b.version(3);
    b.property("caption", 0x1189e8d9a59L).type(PrimitiveTypeId.STRING).origin("1205250923097").done();
    b.property("ID", 0x374ac263e13f4abeL).type(PrimitiveTypeId.STRING).origin("3984210554599197374").done();
    b.property("overrides", 0x471ab485cd3c6daL).type(PrimitiveTypeId.BOOLEAN).origin("320225375803393754").done();
    b.property("description", 0x11a7cb78588L).type(PrimitiveTypeId.STRING).origin("1213273179528").done();
    b.property("mnemonic", 0x11b1742d216L).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b7ee16efL)).origin("1215865999894").done();
    b.property("isAlwaysVisible", 0x1190fbf3301L).type(PrimitiveTypeId.BOOLEAN).origin("1207149998849").done();
    b.property("outsideCommandExecution", 0x11a070b6efeL).type(PrimitiveTypeId.BOOLEAN).origin("1211298967294").done();
    b.property("requiredAccess", 0x6782cab5d94428a3L).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6782cab5d9442836L)).origin("7458746815261976739").done();
    b.property("fillActionContext", 0xdd656be50ed306bL).type(PrimitiveTypeId.BOOLEAN).origin("997079742910640235").done();
    b.property("updateInBackground", 0x411f75eb1a80b5d1L).type(PrimitiveTypeId.BOOLEAN).origin("4692598989365753297").done();
    b.aggregate("updateBlock", 0x1181d58b8d3L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b8325461L).optional(true).ordered(true).multiple(false).origin("1203083196627").done();
    b.aggregate("icon", 0x7c92abce86abbd8fL).target(0x982eb8df2c964bd7L, 0x996311712ea622e5L, 0x26417c3774289eeeL).optional(true).ordered(true).multiple(false).origin("8976425910813834639").done();
    b.aggregate("executeFunction", 0x1181d5cc406L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181d5d8548L).optional(false).ordered(true).multiple(false).origin("1203083461638").done();
    b.aggregate("methodDeclaration", 0x118c255bfb5L).target(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bd6ee3c3L).optional(true).ordered(true).multiple(true).origin("1205851242421").done();
    b.aggregate("parameter", 0x11b737b91a4L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b737a6b7cL).optional(true).ordered(true).multiple(true).origin("1217413222820").done();
    b.aggregate("constructionParameter", 0x11daf6ca9baL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11daf6d2bdcL).optional(true).ordered(true).multiple(true).origin("1227008813498").done();
    b.aggregate("places", 0x57ad0f5134202edL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f5134202ecL).optional(true).ordered(true).multiple(true).origin("394857668356997869").done();
    b.alias("Action");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionGroupDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionGroupDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L);
    b.class_(false, false, true);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6b2af5L);
    b.parent(0xfe9d76d7580945c9L, 0xae28a40915b4d6ffL, 0x433c3c31e7218f38L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203087890642");
    b.version(3);
    b.property("caption", 0x1188f1dd933L).type(PrimitiveTypeId.STRING).origin("1204991940915").done();
    b.property("mnemonic", 0x118992ea15fL).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b7ee16efL)).origin("1205160812895").done();
    b.property("isInternal", 0x118992f03c4L).type(PrimitiveTypeId.BOOLEAN).origin("1205160838084").done();
    b.property("isPopup", 0x11a7d5719b0L).type(PrimitiveTypeId.BOOLEAN).origin("1213283637680").done();
    b.property("isInvisibleWhenDisabled", 0x11b5b35bb9dL).type(PrimitiveTypeId.BOOLEAN).origin("1217005992861").done();
    b.property("isPluginXmlGroup", 0x5861c0ccac3f6fc8L).type(PrimitiveTypeId.BOOLEAN).origin("6368583333374291912").done();
    b.aggregate("modifier", 0x1188f17ec8aL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181de4920dL).optional(true).ordered(true).multiple(true).origin("1204991552650").done();
    b.aggregate("contents", 0x1190f76acfcL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f747b3dL).optional(false).ordered(true).multiple(false).origin("1207145245948").done();
    b.alias("Group");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionGroupMember() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionGroupMember", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL);
    b.interface_();
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204391079391");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionGroupRef() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionGroupRef", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa71fL);
    b.class_(false, false, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/331224023792854815");
    b.version(3);
    b.associate("group", 0x498be7ea73fa720L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L).optional(false).origin("331224023792854816").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionInstance() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionInstance", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da2ba57L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203088046679");
    b.version(3);
    b.associate("action", 0x1181da2f27fL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca87c38L).optional(false).origin("1203088061055").done();
    b.aggregate("actualParameter", 0x11daf965303L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(true).origin("1227011543811").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionParameter() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionParameter", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b737a6b7cL);
    b.interface_();
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1217413147516");
    b.version(3);
    b.property("isOptional", 0x11c71345faaL).type(PrimitiveTypeId.BOOLEAN).origin("1221669969834").done();
    b.aggregate("condition", 0x4cdc1c9014f46cb2L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL).optional(true).ordered(true).multiple(true).origin("5538333046911298738").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionParameterCondition() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionParameterCondition", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL);
    b.interface_();
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5538333046911348652");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionParameterDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionParameterDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b812427fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.FieldDeclaration
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c108ca68L);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6becc0L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11b737a6b7cL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1205679047295");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    b.alias("complex parameter (node<>,...)");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionParameterReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionParameterReference", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1947b3e0f0959deeL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.VariableReference
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c77f1e98L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1821622352985038318");
    b.version(3);
    b.associate("parameter", 0x1947b3e0f0959df0L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11daf6d2bdcL).optional(false).origin("1821622352985038320").specialize(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c77f1e98L, 0xf8cc6bf960L).done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionParameterReferenceOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionParameterReferenceOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118d0b7fab3L);
    b.class_(false, false, false);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1206092561075");
    b.version(3);
    b.associate("parameterDeclaration", 0x118d0bb8cbfL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b812427fL).optional(false).origin("1206092795071").specialize(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L, 0x118bcb657ecL).done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionPlaceSpecification() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionPlaceSpecification", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f5134202ecL);
    b.interface_();
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/394857668356997868");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionReference", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x14fc9beabb2214dfL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa7c0557L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1512255007353869535");
    b.version(3);
    b.associate("actionDeclaration", 0x14fc9beabb2214e0L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca87c38L).optional(false).origin("1512255007353869536").done();
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForActionType() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ActionType", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118c26632a3L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.classifiers.structure.BaseClassifierType
    b.super_(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc77d845L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1205852320419");
    b.version(3);
    b.associate("action", 0x118c266a4d7L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca87c38L).optional(false).origin("1205852349655").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAddElementStatement() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "AddElementStatement", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f7a2d1aL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1207145475354");
    b.version(3);
    b.aggregate("expression", 0x1190f7a7992L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1207145494930").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("addJavaAction");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAddKeystrokeStatement() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "AddKeystrokeStatement", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x70d8274412a8919cL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/8131292300541727132");
    b.version(3);
    b.aggregate("stroke", 0x70d8274412ab495dL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("8131292300541905245").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("addKeystroke");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAddStatement() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "AddStatement", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11dafad4b27L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Statement
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8cc56b215L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1227013049127");
    b.version(3);
    b.aggregate("item", 0x11dafaf1482L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL).optional(false).ordered(true).multiple(false).origin("1227013166210").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("add");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForAddTabOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "AddTabOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x51d51510f17237b8L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.TabbedToolOperation
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x705d0a376e80e04cL);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46ac030L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5896642449625987000");
    b.version(3);
    b.aggregate("tab", 0x6902a1ec28a66248L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6048eaf0c78f324eL).optional(false).ordered(true).multiple(false).origin("7566788359602201160").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("addTab");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForBaseNodeBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "BaseNodeBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ffc088L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3743831881070657672");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("base node");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForBaseProjectOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "BaseProjectOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x2e56fadb4d375f27L);
    b.class_(false, false, false);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46ac030L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3339131993542057767");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForBaseToolDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "BaseToolDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x5adc7622e710bddcL);
    b.class_(false, true, false);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6b2af5L);
    b.parent(0xfe9d76d7580945c9L, 0xae28a40915b4d6ffL, 0x433c3c31e7218f38L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/6547237850567458268");
    b.version(3);
    b.property("caption", 0x5adc7622e710cedcL).type(PrimitiveTypeId.STRING).origin("6547237850567462620").done();
    b.property("isAvailableOnStartup", 0x9aaaf41d3354c2L).type(PrimitiveTypeId.BOOLEAN).origin("43535111852086466").done();
    b.property("number", 0x5adc7622e710cf2dL).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11a53510287L)).origin("6547237850567462701").done();
    b.property("position", 0x22ace24ea9f7487cL).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22ace24ea9f74877L)).origin("4241665505353454043").done();
    b.property("icon", 0x5adc7622e710cf6eL).type(PrimitiveTypeId.STRING).origin("6547237850567462766").done();
    b.aggregate("methodDeclaration", 0x5adc7622e710cfc0L).target(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bd6ee3c3L).optional(true).ordered(true).multiple(true).origin("6547237850567462848").done();
    b.aggregate("fieldDeclaration", 0x5adc7622e710cfc1L).target(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x11aa7fc0293L).optional(true).ordered(true).multiple(true).origin("6547237850567462849").done();
    b.aggregate("toolInitBlock", 0x705d0a376e81592eL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aa166ea48L).optional(true).ordered(true).multiple(false).origin("8096638938275469614").done();
    b.aggregate("toolDisposeBlock", 0x705d0a376e81592fL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aa167474fL).optional(true).ordered(true).multiple(false).origin("8096638938275469615").done();
    b.aggregate("toolIcon", 0x5e40e1c309ae6459L).target(0x982eb8df2c964bd7L, 0x996311712ea622e5L, 0x26417c3774289eeeL).optional(true).ordered(true).multiple(false).origin("6791676465872004185").done();
    b.aggregate("shortcut", 0x68b8d4843b815aeL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b5f981L).optional(true).ordered(true).multiple(false).origin("471625927503648174").done();
    b.alias("Base Tool");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForBuildGroupBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "BuildGroupBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f786becL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f747b3dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1207145360364");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("build");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForButtonCreator() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ButtonCreator", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1b97d211bb0207afL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1988288734101112751");
    b.version(3);
    b.aggregate("action", 0x1b97d211bb020854L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1988288734101112916").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("button");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCloseTabOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "CloseTabOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x50be5f478b3541f2L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.TabbedToolOperation
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x705d0a376e80e04cL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5818192529492099570");
    b.version(3);
    b.aggregate("componentExpression", 0x50be5f478b354bdcL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("5818192529492102108").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("closeTab");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptCondition() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptCondition", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0xe9375051ff52781L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1050311802978903937");
    b.version(3);
    b.associate("concept", 0xe9375051ff5278dL).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0x1103553c5ffL).optional(false).origin("1050311802978903949").done();
    b.alias("concept");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_AnActionEvent() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_AnActionEvent", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181d54406fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203082903663");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("event");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_CreatorType() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_CreatorType", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x513f22c4bae4fb1bL);
    b.class_(false, true, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5854436268949437211");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_IModule() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_IModule", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11870797a07L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.ConceptFunctionParameter_CreatorType
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x513f22c4bae4fb1bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204477852167");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("module");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_MPSProject() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_MPSProject", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118707cdfb8L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204478074808");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("project");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_Model() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_Model", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x513f22c4bae4fb15L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.ConceptFunctionParameter_CreatorType
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x513f22c4bae4fb1bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5854436268949437205");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("model");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_NodeReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_NodeReference", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0xb6b688a943085fcL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/822866301326231036");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("nodePointer");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_PreferencePage_component() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_PreferencePage_component", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e2cb827fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210690798207");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("component");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_Project() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_Project", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aa1691a43L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1213888797251");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("project");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_SConceptClass() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_SConceptClass", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6785022a196ed912L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/7459370737647671570");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("concept");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptFunctionParameter_node() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptFunctionParameter_node", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1184b3b848fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.ConceptFunctionParameter_CreatorType
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x513f22c4bae4fb1bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203853034639");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("node");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForConceptsBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ConceptsBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6785022a196e8effL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/7459370737647652607");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("getConcepts");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCreateBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "CreateBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6785022a196e8f01L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/7459370737647652609");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("create");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCreateNodeAspectBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "CreateNodeAspectBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff0d26L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3743831881070611750");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("create");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCreateTabBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "CreateTabBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x16c373ab7fdbb667L);
    b.class_(false, false, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1640281869714699879");
    b.version(3);
    b.property("commandOnCreate", 0x16c373ab7fdbb66eL).type(PrimitiveTypeId.BOOLEAN).origin("1640281869714699886").done();
    b.aggregate("conceptsBlock", 0x6785022a196e8ee3L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6785022a196e8effL).optional(true).ordered(true).multiple(false).origin("7459370737647652579").done();
    b.aggregate("createBlock", 0x6785022a196e8f03L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6785022a196e8f01L).optional(true).ordered(true).multiple(false).origin("7459370737647652611").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCustomCondition() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "CustomCondition", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f46cb3L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5538333046911298739");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("custom precondition");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForCustomToolShortcut() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "CustomToolShortcut", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b76125L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.AbstractToolShortcut
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b5f981L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/471625927503601957");
    b.version(3);
    b.aggregate("changes", 0x68b8d4843b765b8L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843e384caL).optional(false).ordered(true).multiple(true).origin("471625927503603128").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForDisposeBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "DisposeBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aa167474fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1213888677711");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("dispose");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForDoUpdateBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "DoUpdateBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181d51127eL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.UpdateBlock
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b8325461L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203082695294");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("update");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEditableModel() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "EditableModel", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4ecd9810833251a2L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5678361901872075170");
    b.version(3);
    b.alias("editable");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEditorTab() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "EditorTab", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff0d2fL);
    b.class_(false, false, true);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.parent(0xfe9d76d7580945c9L, 0xae28a40915b4d6ffL, 0x433c3c31e7218f38L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3743831881070611759");
    b.version(3);
    b.property("shortcutChar", 0x33f4c34299ff0d37L).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b7ee16efL)).origin("3743831881070611767").done();
    b.property("commandOnCreate", 0x71dc7d539b7857cfL).type(PrimitiveTypeId.BOOLEAN).origin("8204570419206313935").done();
    b.associate("baseNodeConcept", 0x33f4c34299ff0d30L).target(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0x1103553c5ffL).optional(false).origin("3743831881070611760").done();
    b.aggregate("icon", 0x211dc111c026b6c2L).target(0x982eb8df2c964bd7L, 0x996311712ea622e5L, 0x26417c3774289eeeL).optional(true).ordered(true).multiple(false).origin("2386275659558598338").done();
    b.aggregate("order", 0x33f4c34299ff1286L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd78145L).optional(true).ordered(true).multiple(false).origin("3743831881070613126").done();
    b.aggregate("listenBlock", 0x33f4c34299ff128eL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ffc090L).optional(true).ordered(true).multiple(false).origin("3743831881070613134").done();
    b.aggregate("baseNodeBlock", 0x33f4c34299ff0d32L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ffc088L).optional(true).ordered(true).multiple(false).origin("3743831881070611762").done();
    b.aggregate("isApplicableBlock", 0x33f4c34299ffc082L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff128fL).optional(true).ordered(true).multiple(false).origin("3743831881070657666").done();
    b.aggregate("nodesBlock", 0x33f4c34299ff11e0L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff11e2L).optional(true).ordered(true).multiple(false).origin("3743831881070612960").done();
    b.aggregate("createTabBlock", 0x16c373ab7fdbb670L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x16c373ab7fdbb667L).optional(true).ordered(true).multiple(false).origin("1640281869714699888").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEditorTabReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "EditorTabReference", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd7814bL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/2450897840534683979");
    b.version(3);
    b.associate("editorTab", 0x22035699bdd7814cL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff0d2fL).optional(false).origin("2450897840534683980").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForElementListContents() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ElementListContents", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f756bc5L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f747b3dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1207145163717");
    b.version(3);
    b.aggregate("reference", 0x1190f75fe95L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL).optional(true).ordered(true).multiple(true).origin("1207145201301").done();
    b.alias("element list");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEnumerateChildrenFunction() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "EnumerateChildrenFunction", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x120b44d9194L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1239975563668");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("enumerateChildren");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForEverywhereActionPlace() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "EverywhereActionPlace", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f513474398L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f5134202ecL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/394857668357342104");
    b.version(3);
    b.alias("everywhere");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForExecuteBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ExecuteBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181d5d8548L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203083511112");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("execute");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGetComponentBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GetComponentBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aba5b01c0L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1214307303872");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("getComponent");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGetGroupOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GetGroupOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119b4514b56L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1209911036758");
    b.version(3);
    b.associate("group", 0x119b4518939L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L).optional(false).origin("1209911052601").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGetNodeBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GetNodeBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1184b2b7acbL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff11e2L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203851983563");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("getNode");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGetNodesBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GetNodesBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1184b2c2cdeL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff11e2L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203852029150");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("getNodes");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGetSelectedTabOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GetSelectedTabOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x19da07a14b82ef06L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.TabbedToolOperation
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x705d0a376e80e04cL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1862809785209122566");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("getSelectedTab");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGroupAccessOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GroupAccessOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x2c7cd89ac8d17d74L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3205675194086686068");
    b.version(3);
    b.associate("group", 0x2c7cd89ac8d17d76L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L).optional(false).origin("3205675194086686070").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGroupAnchor() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GroupAnchor", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11840f36089L);
    b.class_(false, false, false);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203680534665");
    b.version(3);
    b.alias("->");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGroupContents() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GroupContents", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f747b3dL);
    b.interface_();
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1207145102141");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForGroupType() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "GroupType", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119240f9168L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.classifiers.structure.BaseClassifierType
    b.super_(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc77d845L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1207490810216");
    b.version(3);
    b.associate("actionGroup", 0x119240f916aL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L).optional(false).origin("1207490810218").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIdeaActionsDescriptor() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IdeaActionsDescriptor", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa71eL);
    b.class_(false, false, false);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa7c0557L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/331224023792854814");
    b.version(3);
    b.aggregate("keymapsRef", 0x498be7ea73fa880L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa87eL).optional(true).ordered(true).multiple(true).origin("331224023792855168").done();
    b.aggregate("actionGroups", 0x498be7ea73fa722L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa71fL).optional(true).ordered(true).multiple(true).origin("331224023792854818").done();
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
    b.alias("actions");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIdeaConfigurationXml() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IdeaConfigurationXml", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x2c7d36ab0e3b095aL);
    b.class_(false, false, true);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3205778618063718746");
    b.version(3);
    b.property("outputPath", 0xdef716b2a58ad65L).type(PrimitiveTypeId.STRING).origin("1004145947012803941").done();
    b.aggregate("actions", 0x2c7d36ab0e3b095cL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa71eL).optional(true).ordered(true).multiple(false).origin("3205778618063718748").done();
    b.alias("IdeaComponents.xml");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIdeaInitializerDescriptor() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IdeaInitializerDescriptor", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x45b64b294c2b3514L);
    b.class_(false, false, true);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5023285075122009364");
    b.version(3);
    b.property("id", 0x45b64b294c2b3516L).type(PrimitiveTypeId.STRING).origin("5023285075122009366").done();
    b.property("descripttion", 0x45b64b294c2b3518L).type(PrimitiveTypeId.STRING).origin("5023285075122009368").done();
    b.property("version", 0x45b64b294c2b3519L).type(PrimitiveTypeId.STRING).origin("5023285075122009369").done();
    b.property("vendor", 0x45b64b294c2b351bL).type(PrimitiveTypeId.STRING).origin("5023285075122009371").done();
    b.property("vendorUrl", 0x45b64b294c2b351cL).type(PrimitiveTypeId.STRING).origin("5023285075122009372").done();
    b.property("vendorLogo", 0x39d4595a63622b5fL).type(PrimitiveTypeId.STRING).origin("4167053799973858143").done();
    b.property("ideaVersion", 0x45b64b294c2b351dL).type(PrimitiveTypeId.STRING).origin("5023285075122009373").done();
    b.property("loadModules", 0x7ab87457cf046328L).type(PrimitiveTypeId.BOOLEAN).origin("8842945788826116904").done();
    b.property("handleErrors", 0x15d67017fe778411L).type(PrimitiveTypeId.BOOLEAN).origin("1573568368168371217").done();
    b.aggregate("dependency", 0x516313f5e8537eebL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x516313f5e8537ee9L).optional(true).ordered(true).multiple(true).origin("5864553086652219115").done();
    b.aggregate("actions", 0x498be7ea73fbb5cL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa71eL).optional(true).ordered(true).multiple(false).origin("331224023792859996").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIdeaPluginDependency() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IdeaPluginDependency", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x516313f5e8537eecL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.PluginDependency
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x516313f5e8537ee9L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5864553086652219116");
    b.version(3);
    b.property("pluginId", 0x516313f5e8537eefL).type(PrimitiveTypeId.STRING).origin("5864553086652219119").done();
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForInitBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "InitBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aa166ea48L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1213888653896");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("init");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForInterfaceExtentionPoint() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "InterfaceExtentionPoint", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186bb08443L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.GroupAnchor
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11840f36089L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204397573187");
    b.version(3);
    b.aggregate("pointID", 0x118d6c86676L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1206194300534").done();
    b.alias("bootstrap ->");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForInterfaceGroup() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "InterfaceGroup", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186ae0bf01L);
    b.class_(false, false, true);
    // extends: jetbrains.mps.lang.plugin.structure.ActionGroupDeclaration
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204383956737");
    b.version(3);
    b.aggregate("groupID", 0x118d6c29828L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1206193920040").done();
    b.aggregate("contents", 0x1190fafda27L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f756bc5L).optional(false).ordered(true).multiple(false).origin("1207148993063").specialize(0x1181da058d2L, 0x1190f76acfcL).done();
    b.alias("Bootstrap Group");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIsApplicableBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IsApplicableBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b833c6a5L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.UpdateBlock
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b8325461L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1205681243813");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("isApplicable");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIsApplicableTabBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IsApplicableTabBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff128fL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3743831881070613135");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("isApplicable");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForIsInstanceCondition() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "IsInstanceCondition", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x51c178081dd63918L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5891121763832969496");
    b.version(3);
    b.associate("cls", 0x51c178081dd640a1L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101d9d3ca30L).optional(false).origin("5891121763832971425").done();
    b.alias("is");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForKeyMapKeystroke() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "KeyMapKeystroke", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11919c665d4L);
    b.class_(false, false, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1207318242772");
    b.version(3);
    b.property("modifiers", 0x11919c665d5L).type(PrimitiveTypeId.STRING).origin("1207318242773").done();
    b.property("keycode", 0x11919c665d6L).type(PrimitiveTypeId.STRING).origin("1207318242774").done();
    b.property("change", 0x5e2b603c8f03ab4dL).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x5e2b603c8f036668L)).origin("4241665505353454039").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForKeyStrokeType() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "KeyStrokeType", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x7a5e2454bfcdad14L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Type
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/8817525066851790100");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("keystroke");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForKeymapChangesDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "KeymapChangesDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x15afe07f2a9bb075L);
    b.class_(false, false, true);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1562714432501166197");
    b.version(3);
    b.property("keymap", 0x15afe07f2a9bb0c9L).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x15afe07f2a9bb078L)).origin("4241665505353454041").done();
    b.property("isPluginXmlKeymap", 0x77ff578948f6b772L).type(PrimitiveTypeId.BOOLEAN).origin("8646726056720906098").done();
    b.aggregate("shortcutChange", 0x15afe07f2a9bb077L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x55f30a5d1e092278L).optional(true).ordered(true).multiple(true).origin("1562714432501166199").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForKeymapRef() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "KeymapRef", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x498be7ea73fa87eL);
    b.class_(false, false, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/331224023792855166");
    b.version(3);
    b.associate("keymap", 0x498be7ea73fa87fL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x15afe07f2a9bb075L).optional(false).origin("331224023792855167").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForListenBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ListenBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ffc090L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3743831881070657680");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("listen");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForMPSPluginDependency() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "MPSPluginDependency", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x2d2ad2584076330L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.PluginDependency
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x516313f5e8537ee9L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/203415309825565488");
    b.version(3);
    b.associate("plugin", 0x2d2ad2584076331L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x45b64b294c2b3514L).optional(false).origin("203415309825565489").done();
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForModificationStatement() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ModificationStatement", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181de4920dL);
    b.class_(false, false, false);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa7c0557L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203092361741");
    b.version(3);
    b.associate("modifiedGroup", 0x1181dea4861L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181da058d2L).optional(false).origin("1203092736097").done();
    b.associate("point", 0x1188f2392baL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11840f36089L).optional(true).origin("1204992316090").done();
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
    b.alias("add");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForNodesBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "NodesBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x33f4c34299ff11e2L);
    b.interface_();
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/3743831881070612962");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForNonDumbAwareActions() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "NonDumbAwareActions", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x14fc9beabb2214dcL);
    b.class_(false, false, true);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1512255007353869532");
    b.version(3);
    b.aggregate("actions", 0x14fc9beabb2214ddL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x14fc9beabb2214dfL).optional(true).ordered(true).multiple(true).origin("1512255007353869533").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForNumberToolShortcut() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "NumberToolShortcut", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b76107L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.AbstractToolShortcut
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b5f981L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/471625927503601927");
    b.version(3);
    b.property("number", 0x68b8d4843b76123L).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11a53510287L)).origin("471625927503601955").done();
    b.alias("number");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOnAfterReadBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "OnAfterReadBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e1f720a6L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210676879526");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("after read");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOnBeforeWriteBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "OnBeforeWriteBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e1f3f82bL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210676672555");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("before write");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOrder() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "Order", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd78147L);
    b.class_(false, false, true);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd78145L);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x110396eaaa4L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/2450897840534683975");
    b.version(3);
    b.aggregate("tab", 0x22035699bdd78149L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd7814bL).optional(false).ordered(true).multiple(true).origin("2450897840534683977").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOrderConstraints() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "OrderConstraints", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd78145L);
    b.interface_();
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/2450897840534683973");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForOrderReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "OrderReference", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd79211L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd78145L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/2450897840534688273");
    b.version(3);
    b.associate("order", 0x22035699bdd79212L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x22035699bdd78147L).optional(false).origin("2450897840534688274").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForParameterCondition_ConceptFunctionParameter() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ParameterCondition_ConceptFunctionParameter", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52fa7L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5538333046911348647");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("parameter");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForParameterizedShortcutChange() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ParameterizedShortcutChange", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x55f30a5d1e096c3aL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x55f30a5d1e092278L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/6193305307616734266");
    b.version(3);
    b.property("change", 0x891afc3310a2b8aL).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x5e2b603c8f036668L)).origin("617467876802702218").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("parameterized");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPersistentPropertyDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PersistentPropertyDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c44cfd36L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.VariableDeclaration
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6becc0L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210179190070");
    b.version(3);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPersistentPropertyReference() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PersistentPropertyReference", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c466b22aL);
    b.class_(false, false, false);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210180874794");
    b.version(3);
    b.associate("propertyDeclaration", 0x119c467f8ccL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c44cfd36L).optional(false).origin("1210180958412").specialize(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bca97396L, 0x118bcb657ecL).done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPinTabOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PinTabOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x3b9dce676f3861a1L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.TabbedToolOperation
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x705d0a376e80e04cL);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46ac030L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/4295816563224240545");
    b.version(3);
    b.aggregate("componentExpression", 0x4ac06ca1bf6e2840L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("5386424596292315200").done();
    b.alias("pinTab");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPluginDependency() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PluginDependency", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x516313f5e8537ee9L);
    b.class_(false, true, false);
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa7c0557L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5864553086652219113");
    b.version(3);
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPopupCreator() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PopupCreator", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1b97d211bb0207abL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1988288734101112747");
    b.version(3);
    b.aggregate("group", 0x7d101a21038ba4afL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("9011731583464088751").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("popup");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPreferencePage() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PreferencePage", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e269a79fL);
    b.class_(false, false, false);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11a3afa8c0dL);
    b.parent(0xfe9d76d7580945c9L, 0xae28a40915b4d6ffL, 0x433c3c31e7218f38L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210684385183");
    b.version(3);
    b.property("iconPath", 0x119e28e412bL).type(PrimitiveTypeId.STRING).origin("1210686783787").done();
    b.property("helpTopic", 0x159c8001ffadea11L).type(PrimitiveTypeId.STRING).origin("1557260317236259345").done();
    b.aggregate("component", 0x119e28f326fL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("1210686845551").done();
    b.aggregate("isModifiedBlock", 0x119e723184aL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e7219d37L).optional(false).ordered(true).multiple(false).origin("1210763647050").done();
    b.aggregate("resetBlock", 0x119e290979cL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e28fc2f6L).optional(false).ordered(true).multiple(false).origin("1210686936988").done();
    b.aggregate("commitBlock", 0x119e290e426L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e291160cL).optional(false).ordered(true).multiple(false).origin("1210686956582").done();
    b.aggregate("icon", 0xf7553d42b3b5673L).target(0x982eb8df2c964bd7L, 0x996311712ea622e5L, 0x26417c3774289eeeL).optional(true).ordered(true).multiple(false).origin("1113888653567546995").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPreferencePageCommitBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PreferencePageCommitBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e291160cL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210686969356");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("commit");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPreferencePageIsModifiedBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PreferencePageIsModifiedBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e7219d37L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210763550007");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("isModified");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPreferencePageResetBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PreferencePageResetBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e28fc2f6L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210686882550");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("reset");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPreferencesComponentDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PreferencesComponentDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c44c226fL);
    b.class_(false, false, true);
    b.parent(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc6b2af5L);
    b.parent(0xc72da2b97cce4447L, 0x8389f407dc1158b7L, 0x6e62cf10d25a65e0L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210179134063");
    b.version(3);
    b.aggregate("persistenPropertyDeclaration", 0x119c456be96L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c44cfd36L).optional(true).ordered(true).multiple(true).origin("1210179829398").done();
    b.aggregate("afterReadBlock", 0x119e1f78e40L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e1f720a6L).optional(true).ordered(true).multiple(false).origin("1210676907584").done();
    b.aggregate("beforeWriteBlock", 0x119e1f7b948L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e1f3f82bL).optional(true).ordered(true).multiple(false).origin("1210676918600").done();
    b.aggregate("preferencePage", 0x119e26a4a67L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119e269a79fL).optional(true).ordered(true).multiple(true).origin("1210684426855").done();
    b.alias("Preferences Component");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForPreferencesComponentType() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "PreferencesComponentType", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c497fc64L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.classifiers.structure.BaseClassifierType
    b.super_(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc77d845L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1210184105060");
    b.version(3);
    b.associate("componentDeclaration", 0x119c4987dc8L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x119c44c226fL).optional(false).origin("1210184138184").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForRequiredCondition() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "RequiredCondition", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52faeL);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4cdc1c9014f52facL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5538333046911348654");
    b.version(3);
    b.alias("required");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForSeparator() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "Separator", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1188a1ecd8aL);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1186b4d6ddfL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204908117386");
    b.version(3);
    b.alias("<--->");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForShortcutChange() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ShortcutChange", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x55f30a5d1e092278L);
    b.interface_();
    b.parent(0xceab519525ea4f22L, 0x9b92103b95ca8c0cL, 0x12509ddfaa7c0557L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/6193305307616715384");
    b.version(3);
    b.associate("action", 0x55f30a5d1e096c76L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca87c38L).optional(false).origin("6193305307616734326").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForSimpleActionPlace() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "SimpleActionPlace", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f5134202ebL);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f5134202ecL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/394857668356997867");
    b.version(3);
    b.alias("action place");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForSimpleShortcutChange() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "SimpleShortcutChange", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x15afe07f2a9bb076L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x55f30a5d1e092278L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1562714432501166198");
    b.version(3);
    b.aggregate("keystroke", 0x15afe07f2a9bb07eL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11919c665d4L).optional(false).ordered(true).multiple(true).origin("1562714432501166206").done();
    b.kind(ConceptKind.IMPLEMENTATION, StaticScope.GLOBAL);
    b.alias("simple");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForSmartDisposeClosureParameterDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "SmartDisposeClosureParameterDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6bd88e2e00aae68L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.closures.structure.UnboundClosureParameterDeclaration
    b.super_(0xfd3920347849419dL, 0x907112563d152375L, 0x118276b7086L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/485694842828664424");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.GLOBAL);
    b.alias("~ <name>");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForTabbedToolDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "TabbedToolDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x51d51510f17223c5L);
    b.class_(false, false, true);
    // extends: jetbrains.mps.lang.plugin.structure.BaseToolDeclaration
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x5adc7622e710bddcL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5896642449625981893");
    b.version(3);
    b.alias("Tabbed Tool");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForTabbedToolOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "TabbedToolOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x705d0a376e80e04cL);
    b.class_(false, true, false);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46ac030L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/8096638938275438668");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToStringConceptFunction() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToStringConceptFunction", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11db00924aaL);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1227019068586");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("toString");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToStringParameter() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToStringParameter", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11db00cd5f8L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunctionParameter
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101c66e2c0bL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1227019310584");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("object");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolActionPlace() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolActionPlace", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f513426286L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x57ad0f5134202ecL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/394857668357022342");
    b.version(3);
    b.alias("tool action place");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolDeclaration() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolDeclaration", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1181ca8f3faL);
    b.class_(false, false, true);
    // extends: jetbrains.mps.lang.plugin.structure.BaseToolDeclaration
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x5adc7622e710bddcL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1203071677434");
    b.version(3);
    b.aggregate("getComponentBlock", 0x11aba5859f6L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11aba5b01c0L).optional(false).ordered(true).multiple(false).origin("1214307129846").done();
    b.alias("Tool");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolInstanceExpression() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolInstanceExpression", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11870178843L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1204471433283");
    b.version(3);
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("instance");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolKeystroke() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolKeystroke", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843b765b0L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.AbstractToolKeystroke
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x68b8d4843e384caL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/471625927503603120");
    b.version(3);
    b.property("keymap", 0x68b8d4843b765b6L).type(MetaIdFactory.dataTypeId(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x15afe07f2a9bb078L)).origin("4241665505353454045").done();
    b.aggregate("keystroke", 0x68b8d4843b76126L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11919c665d4L).optional(false).ordered(true).multiple(false).origin("471625927503601958").done();
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolTab() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolTab", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x6048eaf0c78f324eL);
    b.class_(false, false, false);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/6938053545825350222");
    b.version(3);
    b.aggregate("componentExpression", 0x6048eaf0c78fad10L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("6938053545825381648").done();
    b.aggregate("titleExpression", 0x6048eaf0c78fad11L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(false).origin("6938053545825381649").done();
    b.aggregate("iconExpression", 0x6048eaf0c78fad12L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(false).origin("6938053545825381650").done();
    b.aggregate("disposeTabClosure", 0x6048eaf0c78fad13L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(true).ordered(true).multiple(false).origin("6938053545825381651").done();
    b.alias("tab");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolType() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolType", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x11961ebbf24L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.classifiers.structure.BaseClassifierType
    b.super_(0x443f4c36fcf54eb6L, 0x95008d06ed259e3eL, 0x118bc77d845L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1208528650020");
    b.version(3);
    b.associate("tool", 0x11961f94babL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x5adc7622e710bddcL).optional(false).origin("1208529537963").done();
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForToolbarCreator() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "ToolbarCreator", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1b97d211bb01f6f6L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.Expression
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1988288734101108470");
    b.version(3);
    b.property("isHorizontal", 0x2968cb9ce567a99eL).type(PrimitiveTypeId.BOOLEAN).origin("2983858627857066398").done();
    b.aggregate("group", 0x7d101a21038ac903L).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("9011731583464032515").done();
    b.kind(ConceptKind.NORMAL, StaticScope.NONE);
    b.alias("toolbar");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUnpinTabOperation() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "UnpinTabOperation", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x4ac06ca1bf6e6788L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.lang.plugin.structure.TabbedToolOperation
    b.super_(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x705d0a376e80e04cL);
    b.parent(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x116b46ac030L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/5386424596292331400");
    b.version(3);
    b.aggregate("componentExpression", 0x4ac06ca1bf6e678bL).target(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37f506fL).optional(false).ordered(true).multiple(false).origin("5386424596292331403").done();
    b.alias("unpinTab");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUpdateBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "UpdateBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x118b8325461L);
    b.class_(false, true, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1205681149025");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUpdateGroupBlock() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "UpdateGroupBlock", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x120b44a69d3L);
    b.class_(false, false, false);
    b.parent(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x1190f747b3dL);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1239975356883");
    b.version(3);
    b.aggregate("updateFunction", 0x120b44c6c5bL).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x120b44b9ee2L).optional(false).ordered(true).multiple(false).origin("1239975488603").done();
    b.aggregate("enumerateFunction", 0x120b44ca781L).target(0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x120b44d9194L).optional(true).ordered(true).multiple(false).origin("1239975503745").done();
    b.alias("update");
    return b.create();
  }
  private static ConceptDescriptor createDescriptorForUpdateGroupFunction() {
    ConceptDescriptorBuilder2 b = new ConceptDescriptorBuilder2("jetbrains.mps.lang.plugin", "UpdateGroupFunction", 0x28f9e4973b424291L, 0xaeba0a1039153ab1L, 0x120b44b9ee2L);
    b.class_(false, false, false);
    // extends: jetbrains.mps.baseLanguage.structure.ConceptFunction
    b.super_(0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x108bbca0f48L);
    b.origin("r:00000000-0000-4000-0000-011c89590368(jetbrains.mps.lang.plugin.structure)/1239975436002");
    b.version(3);
    b.kind(ConceptKind.INTERFACE, StaticScope.NONE);
    b.alias("update");
    return b.create();
  }
}
