public final class QueryFunction_RemoveBy_Condition__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0xaee9cad2acd44608L,
          0xaef20004f6a1cdbdL,
          0x11223572c26L,
          "jetbrains.mps.lang.actions.structure.QueryFunction_RemoveBy_Condition");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Boolean> usesParameterObjectFor_idhEwIGRw =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("usesParameterObjectFor")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIGRw")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));
  public static final SMethod<List<SNode>> getParameters_idhEwIGRM =
      new SMethodBuilder<List<SNode>>(
              new SJavaCompoundTypeImpl((Class<List<SNode>>) ((Class) Object.class)))
          .name("getParameters")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIGRM")
          .registry(REGISTRY)
          .build();
  public static final SMethod<SNode> getExpectedReturnType_idhEwIGRD =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getExpectedReturnType")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIGRD")
          .registry(REGISTRY)
          .build();

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          usesParameterObjectFor_idhEwIGRw,
          getParameters_idhEwIGRM,
          getExpectedReturnType_idhEwIGRD);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static boolean usesParameterObjectFor_idhEwIGRw(
      @NotNull SNode __thisNode__, SNode parameter) {
    return !(SNodeOperations.isInstanceOf(
        parameter,
        MetaAdapterFactory.getConcept(
            0xaee9cad2acd44608L,
            0xaef20004f6a1cdbdL,
            0x112235845abL,
            "jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_concept")));
  }
  /*package*/ static List<SNode> getParameters_idhEwIGRM(@NotNull SNode __thisNode__) {
    List<SNode> result = ListSequence.fromList(new ArrayList<SNode>());
    ListSequence.fromList(result)
        .addElement(
            MetaAdapterFactory.getConcept(
                    0xaee9cad2acd44608L,
                    0xaef20004f6a1cdbdL,
                    0x10ccb7e17b2L,
                    "jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_parentNode")
                .getDeclarationNode());
    ListSequence.fromList(result)
        .addElement(
            MetaAdapterFactory.getConcept(
                    0xaee9cad2acd44608L,
                    0xaef20004f6a1cdbdL,
                    0x1122c8bef38L,
                    "jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_currentTargetNode")
                .getDeclarationNode());
    ListSequence.fromList(result)
        .addElement(
            MetaAdapterFactory.getConcept(
                    0xaee9cad2acd44608L,
                    0xaef20004f6a1cdbdL,
                    0x112235845abL,
                    "jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_concept")
                .getDeclarationNode());
    ListSequence.fromList(result)
        .addElement(
            MetaAdapterFactory.getConcept(
                    0xaee9cad2acd44608L,
                    0xaef20004f6a1cdbdL,
                    0x112387cf896L,
                    "jetbrains.mps.lang.actions.structure.ConceptFunctionParameter_childConcept")
                .getDeclarationNode());
    ListSequence.fromList(result)
        .addElement(
            MetaAdapterFactory.getConcept(
                    0x13744753c81f424aL,
                    0x9c1bcf8943bf4e86L,
                    0x10e761b3745L,
                    "jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_model")
                .getDeclarationNode());
    ListSequence.fromList(result)
        .addElement(
            MetaAdapterFactory.getConcept(
                    0x13744753c81f424aL,
                    0x9c1bcf8943bf4e86L,
                    0x10e761c927aL,
                    "jetbrains.mps.lang.sharedConcepts.structure.ConceptFunctionParameter_operationContext")
                .getDeclarationNode());
    return result;
  }
  /*package*/ static SNode getExpectedReturnType_idhEwIGRD(@NotNull SNode __thisNode__) {
    return _quotation_createNode_ubklel_a0a2();
  }

  /*package*/ QueryFunction_RemoveBy_Condition__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((Boolean) usesParameterObjectFor_idhEwIGRw(node, (SNode) parameters[0]));
      case 1:
        return (T) ((List<SNode>) getParameters_idhEwIGRM(node));
      case 2:
        return (T) ((SNode) getExpectedReturnType_idhEwIGRD(node));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }

  private static SNode _quotation_createNode_ubklel_a0a2() {
    PersistenceFacade facade = PersistenceFacade.getInstance();
    SNode quotedNode_1 = null;
    quotedNode_1 =
        SModelUtil_new.instantiateConceptDeclaration(
            MetaAdapterFactory.getConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf940d6513eL,
                "jetbrains.mps.baseLanguage.structure.BooleanType"),
            null,
            null,
            false);
    return quotedNode_1;
  }
}
public final class StatCommand__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0xa5e4de5346a344daL,
          0xaab368fdf1c34ed0L,
          0x67f2bafb7a558c98L,
          "jetbrains.mps.console.ideCommands.structure.StatCommand");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Void> doExecute_id2SpVAIqougW =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("doExecute")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("2SpVAIqougW")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter(ConsoleContext.class, ""),
              SMethodBuilder.createJavaParameter(ConsoleStream.class, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(doExecute_id2SpVAIqougW);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static void doExecute_id2SpVAIqougW(
      @NotNull SNode __thisNode__, ConsoleContext context, ConsoleStream console) {
    OutputUtils.printStat(
        console,
        IStatisticsTarget__BehaviorDescriptor.getStat_id6vMIJHUBlVT.invoke(
            SLinkOperations.getTarget(
                __thisNode__,
                MetaAdapterFactory.getContainmentLink(
                    0xa5e4de5346a344daL,
                    0xaab368fdf1c34ed0L,
                    0x67f2bafb7a558c98L,
                    0x67f2bafb7a579cb3L,
                    "target")),
            context));
  }

  /*package*/ StatCommand__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        doExecute_id2SpVAIqougW(
            node, (ConsoleContext) parameters[0], (ConsoleStream) parameters[1]);
        return null;
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class CellKeyMapDeclaration__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x18bc659203a64e29L,
          0xa83a7ff23bde13baL,
          0xfbc216b31bL,
          "jetbrains.mps.lang.editor.structure.CellKeyMapDeclaration");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<SNode> getBaseConcept_id2hxg_BDjKM8 =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getBaseConcept")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("2hxg_BDjKM8")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Void> setBaseConcept_id5r_35Ihc58c =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("setBaseConcept")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("5r_35Ihc58c")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(getBaseConcept_id2hxg_BDjKM8, setBaseConcept_id5r_35Ihc58c);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static SNode getBaseConcept_id2hxg_BDjKM8(@NotNull SNode __thisNode__) {
    return SLinkOperations.getTarget(
        __thisNode__,
        MetaAdapterFactory.getReferenceLink(
            0x18bc659203a64e29L,
            0xa83a7ff23bde13baL,
            0xfbc216b31bL,
            0x1094c452c15L,
            "applicableConcept"));
  }
  /*package*/ static void setBaseConcept_id5r_35Ihc58c(
      @NotNull SNode __thisNode__, SNode baseConcept) {
    SLinkOperations.setTarget(
        __thisNode__,
        MetaAdapterFactory.getReferenceLink(
            0x18bc659203a64e29L,
            0xa83a7ff23bde13baL,
            0xfbc216b31bL,
            0x1094c452c15L,
            "applicableConcept"),
        baseConcept);
  }

  /*package*/ CellKeyMapDeclaration__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((SNode) getBaseConcept_id2hxg_BDjKM8(node));
      case 1:
        setBaseConcept_id5r_35Ihc58c(node, (SNode) parameters[0]);
        return null;
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class DequeType__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x8388864671ce4f1cL,
          0x9c53c54016f6ad4fL,
          0x2e99e9ab97de7711L,
          "jetbrains.mps.baseLanguage.collections.structure.DequeType");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<List<SNode>> getAbstractCreators_id6A07P3f4z36 =
      new SMethodBuilder<List<SNode>>(
              new SJavaCompoundTypeImpl((Class<List<SNode>>) ((Class) Object.class)))
          .name("getAbstractCreators")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("6A07P3f4z36")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SModel>) ((Class) Object.class), ""));
  public static final SMethod<Boolean> canBeCoerced_id5uUZ$FUUb6B =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("canBeCoerced")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("5uUZ$FUUb6B")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(String.class, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(getAbstractCreators_id6A07P3f4z36, canBeCoerced_id5uUZ$FUUb6B);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static List<SNode> getAbstractCreators_id6A07P3f4z36(
      @NotNull SNode __thisNode__, SModel targetModel) {
    List<SNode> res = new ArrayList<SNode>();
    ListSequence.fromList(res)
        .addElement(
            _quotation_createNode_kzauu3_a0a1a0(
                SLinkOperations.getTarget(
                    __thisNode__,
                    MetaAdapterFactory.getContainmentLink(
                        0x8388864671ce4f1cL,
                        0x9c53c54016f6ad4fL,
                        0x4eec26fcbaf8c39bL,
                        0x4eec26fcbaf8c39cL,
                        "elementType"))));
    ListSequence.fromList(res)
        .addSequence(
            Sequence.fromIterable(
                CustomContainersUtil.containerCreators(targetModel, __thisNode__)));
    return res;
  }
  /*package*/ static boolean canBeCoerced_id5uUZ$FUUb6B(
      @NotNull SNode __thisNode__, String conceptFqName) {
    if ("jetbrains.mps.baseLanguage.collections.structure.LinkedListType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.ListType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.StackType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.QueueType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.SetType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.SortedSetType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.MapType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.SortedMapType".equals(conceptFqName)) {
      return false;
    }
    return true;
  }

  /*package*/ DequeType__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((List<SNode>) getAbstractCreators_id6A07P3f4z36(node, (SModel) parameters[0]));
      case 1:
        return (T) ((Boolean) canBeCoerced_id5uUZ$FUUb6B(node, (String) parameters[0]));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }

  private static SNode _quotation_createNode_kzauu3_a0a1a0(Object parameter_1) {
    PersistenceFacade facade = PersistenceFacade.getInstance();
    SNode quotedNode_2 = null;
    SNode quotedNode_3 = null;
    quotedNode_2 =
        SModelUtil_new.instantiateConceptDeclaration(
            MetaAdapterFactory.getConcept(
                0x8388864671ce4f1cL,
                0x9c53c54016f6ad4fL,
                0x11daf69a138L,
                "jetbrains.mps.baseLanguage.collections.structure.LinkedListCreator"),
            null,
            null,
            false);
    quotedNode_3 = (SNode) parameter_1;
    if (quotedNode_3 != null) {
      quotedNode_2.addChild(
          MetaAdapterFactory.getContainmentLink(
              0x8388864671ce4f1cL,
              0x9c53c54016f6ad4fL,
              0x1202df1ada0L,
              0x1202df24e9fL,
              "elementType"),
          HUtil.copyIfNecessary(quotedNode_3));
    }
    return quotedNode_2;
  }
}
public final class AnonymousCellAnnotation__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x8585453e6bfb4d80L,
          0x98deb16074f1d86cL,
          0x11e31babe12L,
          "jetbrains.mps.lang.test.structure.AnonymousCellAnnotation");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Void> setupSelection_id5rZKa_fUiYP =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("setupSelection")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("5rZKa_fUiYP")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter(NodeEditorComponent.class, ""),
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter(
                  (Class<Map<SNode, SNode>>) ((Class) Object.class), ""));
  public static final SMethod<Integer> getCaretPosition_id5rZKa_fUlry =
      new SMethodBuilder<Integer>(new SJavaCompoundTypeImpl(Integer.TYPE))
          .name("getCaretPosition")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("5rZKa_fUlry")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(EditorCell_Label.class, ""));
  /*package*/ static final SMethod<Void> setupCaretAndSelection_id7TYU6fNl1yz =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("setupCaretAndSelection")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PRIVATE))
          .concept(CONCEPT)
          .id("7TYU6fNl1yz")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(EditorCell.class, ""));
  /*package*/ static final SMethod<EditorComponent> setupInspector_id4VoD2D0CSEA =
      new SMethodBuilder<EditorComponent>(new SJavaCompoundTypeImpl(EditorComponent.class))
          .name("setupInspector")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PRIVATE))
          .concept(CONCEPT)
          .id("4VoD2D0CSEA")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter(NodeEditorComponent.class, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          setupSelection_id5rZKa_fUiYP,
          getCaretPosition_id5rZKa_fUlry,
          setupCaretAndSelection_id7TYU6fNl1yz,
          setupInspector_id4VoD2D0CSEA);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static void setupSelection_id5rZKa_fUiYP(
      @NotNull final SNode __thisNode__,
      final NodeEditorComponent nodeEditorComponent,
      final SNode node,
      final Map<SNode, SNode> map) {
    final Wrappers._T<EditorComponent> editorComponent =
        new Wrappers._T<EditorComponent>(nodeEditorComponent);
    final Wrappers._T<EditorCell> cellWithId = new Wrappers._T<EditorCell>();
    ModelAccess.instance()
        .runReadAction(
            new Runnable() {
              public void run() {
                if (SPropertyOperations.getBoolean(
                    __thisNode__,
                    MetaAdapterFactory.getProperty(
                        0x8585453e6bfb4d80L,
                        0x98deb16074f1d86cL,
                        0x11e31babe12L,
                        0x1b73330fb1241e01L,
                        "isInInspector"))) {
                  editorComponent.value =
                      AnonymousCellAnnotation__BehaviorDescriptor.setupInspector_id4VoD2D0CSEA
                          .invoke(__thisNode__, node, nodeEditorComponent);
                }
                cellWithId.value =
                    editorComponent.value.findCellWithId(
                        node,
                        SPropertyOperations.getString(
                            __thisNode__,
                            MetaAdapterFactory.getProperty(
                                0x8585453e6bfb4d80L,
                                0x98deb16074f1d86cL,
                                0x11e31babe12L,
                                0x11e31babe13L,
                                "cellId")));
                if (cellWithId.value == null) {
                  throw new RuntimeException("No cell " + __thisNode__);
                }
                AnonymousCellAnnotation__BehaviorDescriptor.setupCaretAndSelection_id7TYU6fNl1yz
                    .invoke(__thisNode__, cellWithId.value);
              }
            });
    editorComponent.value.changeSelection(cellWithId.value);
    ModelAccess.instance()
        .runReadAction(
            new Runnable() {
              public void run() {
                if (SLinkOperations.getTarget(
                        __thisNode__,
                        MetaAdapterFactory.getReferenceLink(
                            0x8585453e6bfb4d80L,
                            0x98deb16074f1d86cL,
                            0x11e31babe12L,
                            0x1ad0cd452e1f9accL,
                            "nodeRangeSelectionStart"))
                    != null) {
                  SNode selectionStart =
                      MapSequence.fromMap(map)
                          .get(
                              SLinkOperations.getTarget(
                                  __thisNode__,
                                  MetaAdapterFactory.getReferenceLink(
                                      0x8585453e6bfb4d80L,
                                      0x98deb16074f1d86cL,
                                      0x11e31babe12L,
                                      0x1ad0cd452e1f9accL,
                                      "nodeRangeSelectionStart")));
                  SNode selectionEnd =
                      MapSequence.fromMap(map)
                          .get(
                              SLinkOperations.getTarget(
                                  __thisNode__,
                                  MetaAdapterFactory.getReferenceLink(
                                      0x8585453e6bfb4d80L,
                                      0x98deb16074f1d86cL,
                                      0x11e31babe12L,
                                      0x1ad0cd452e1f9acdL,
                                      "nodeRangeSelectionEnd")));
                  SelectionManager selectionManager = editorComponent.value.getSelectionManager();
                  selectionManager.pushSelection(
                      selectionManager.createRangeSelection(selectionStart, selectionEnd));
                }
              }
            });
  }
  /*package*/ static int getCaretPosition_id5rZKa_fUlry(
      @NotNull SNode __thisNode__, EditorCell_Label label) {
    if (SPropertyOperations.getBoolean(
        __thisNode__,
        MetaAdapterFactory.getProperty(
            0x8585453e6bfb4d80L,
            0x98deb16074f1d86cL,
            0x11e31babe12L,
            0x11e3fde6f41L,
            "isLastPosition"))) {
      return label.getText().length();
    } else {
      return SPropertyOperations.getInteger(
          __thisNode__,
          MetaAdapterFactory.getProperty(
              0x8585453e6bfb4d80L,
              0x98deb16074f1d86cL,
              0x11e31babe12L,
              0x11e31babe14L,
              "caretPosition"));
    }
  }
  /*package*/ static void setupCaretAndSelection_id7TYU6fNl1yz(
      @NotNull SNode __thisNode__, EditorCell cellWithId) {
    if (cellWithId instanceof EditorCell_Label) {
      EditorCell_Label label = (EditorCell_Label) cellWithId;
      label.setCaretPosition(
          ((int)
              AnonymousCellAnnotation__BehaviorDescriptor.getCaretPosition_id5rZKa_fUlry.invoke(
                  __thisNode__, label)));
      label.setSelectionStart(
          SPropertyOperations.getInteger(
              __thisNode__,
              MetaAdapterFactory.getProperty(
                  0x8585453e6bfb4d80L,
                  0x98deb16074f1d86cL,
                  0x11e31babe12L,
                  0x56ffc0a94fe5fc33L,
                  "selectionStart")));
      label.setSelectionEnd(
          SPropertyOperations.getInteger(
              __thisNode__,
              MetaAdapterFactory.getProperty(
                  0x8585453e6bfb4d80L,
                  0x98deb16074f1d86cL,
                  0x11e31babe12L,
                  0x56ffc0a94fe5fc35L,
                  "selectionEnd")));
    }
  }
  /*package*/ static EditorComponent setupInspector_id4VoD2D0CSEA(
      @NotNull SNode __thisNode__, SNode node, NodeEditorComponent nodeEditorComponent) {
    SNode nodeToSelect = node;
    while (nodeToSelect != null && nodeEditorComponent.findNodeCell(nodeToSelect) == null) {
      nodeToSelect = SNodeOperations.getParent(nodeToSelect);
    }
    nodeEditorComponent.selectNode(nodeToSelect);
    return nodeEditorComponent.getInspector();
  }

  /*package*/ AnonymousCellAnnotation__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        setupSelection_id5rZKa_fUiYP(
            node,
            (NodeEditorComponent) parameters[0],
            (SNode) parameters[1],
            (Map<SNode, SNode>) parameters[2]);
        return null;
      case 1:
        return (T)
            ((Integer) getCaretPosition_id5rZKa_fUlry(node, (EditorCell_Label) parameters[0]));
      case 2:
        setupCaretAndSelection_id7TYU6fNl1yz(node, (EditorCell) parameters[0]);
        return null;
      case 3:
        return (T)
            ((EditorComponent)
                setupInspector_id4VoD2D0CSEA(
                    node, (SNode) parameters[0], (NodeEditorComponent) parameters[1]));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class StaticFieldReference__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0xf3061a5392264cc5L,
          0xa443f952ceaf5816L,
          0xf940c80846L,
          "jetbrains.mps.baseLanguage.structure.StaticFieldReference");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Object> eval_idhEwJgmp =
      new SMethodBuilder<Object>(new SJavaCompoundTypeImpl(Object.class))
          .name("eval")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwJgmp")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(SModule.class, ""));
  public static final SMethod<Boolean> isCompileTimeConstant_idi1LOPRp =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isCompileTimeConstant")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("i1LOPRp")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Object> getCompileTimeConstantValue_idi1LP2xI =
      new SMethodBuilder<Object>(new SJavaCompoundTypeImpl(Object.class))
          .name("getCompileTimeConstantValue")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("i1LP2xI")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(SModule.class, ""));
  public static final SMethod<Boolean> lvalue_id1653mnvAgpj =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("lvalue")
          .modifiers(SModifiersImpl.create(9, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1653mnvAgpj")
          .registry(REGISTRY)
          .build();

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          eval_idhEwJgmp,
          isCompileTimeConstant_idi1LOPRp,
          getCompileTimeConstantValue_idi1LP2xI,
          lvalue_id1653mnvAgpj);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static Object eval_idhEwJgmp(@NotNull SNode __thisNode__, SModule module) {
    SNode classifier =
        SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getReferenceLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf940c80846L,
                0x10a75869f9bL,
                "classifier"));
    SNode f =
        SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getReferenceLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf8c77f1e98L,
                0xf8cc6bf960L,
                "variableDeclaration"));

    SModule m = check_o8sx3d_a0d0a(SNodeOperations.getModel(f));
    if (m != null) {
      try {
        final Object c =
            ReflectionUtil.getConstant(
                m,
                classifier,
                SPropertyOperations.getString(
                    f,
                    MetaAdapterFactory.getProperty(
                        0xceab519525ea4f22L,
                        0x9b92103b95ca8c0cL,
                        0x110396eaaa4L,
                        0x110396ec041L,
                        "name")));
        if (c != null) {
          return c;
        }
      } catch (Throwable t) {
        // do nothing
      }
    }
    if (module == null) {
      return null;
    }
    try {
      return ReflectionUtil.getConstant(
          module,
          classifier,
          SPropertyOperations.getString(
              f,
              MetaAdapterFactory.getProperty(
                  0xceab519525ea4f22L,
                  0x9b92103b95ca8c0cL,
                  0x110396eaaa4L,
                  0x110396ec041L,
                  "name")));
    } catch (Throwable t) {
      return null;
    }
  }
  /*package*/ static boolean isCompileTimeConstant_idi1LOPRp(@NotNull SNode __thisNode__) {
    return SPropertyOperations.getBoolean(
        SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getReferenceLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf8c77f1e98L,
                0xf8cc6bf960L,
                "variableDeclaration")),
        MetaAdapterFactory.getProperty(
            0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf8c37a7f6eL, 0x111f9e9f00cL, "isFinal"));
  }
  /*package*/ static Object getCompileTimeConstantValue_idi1LP2xI(
      @NotNull SNode __thisNode__, SModule module) {
    SNode classifier =
        SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getReferenceLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf940c80846L,
                0x10a75869f9bL,
                "classifier"));
    if ((classifier != null)
        && SModelStereotype.isStubModelStereotype(
            SModelStereotype.getStereotype(
                SNodeOperations.getModel(classifier).getReference().getModelName()))) {
      return Expression__BehaviorDescriptor.eval_idhEwJgmp.invoke(__thisNode__, module);
    } else {
      return ((boolean)
              Expression__BehaviorDescriptor.isCompileTimeConstant_idi1LOPRp.invoke(
                  SLinkOperations.getTarget(
                      SLinkOperations.getTarget(
                          __thisNode__,
                          MetaAdapterFactory.getReferenceLink(
                              0xf3061a5392264cc5L,
                              0xa443f952ceaf5816L,
                              0xf8c77f1e98L,
                              0xf8cc6bf960L,
                              "variableDeclaration")),
                      MetaAdapterFactory.getContainmentLink(
                          0xf3061a5392264cc5L,
                          0xa443f952ceaf5816L,
                          0xf8c37a7f6eL,
                          0xf8c37f506eL,
                          "initializer")))
          ? Expression__BehaviorDescriptor.getCompileTimeConstantValue_idi1LP2xI.invoke(
              SLinkOperations.getTarget(
                  SLinkOperations.getTarget(
                      __thisNode__,
                      MetaAdapterFactory.getReferenceLink(
                          0xf3061a5392264cc5L,
                          0xa443f952ceaf5816L,
                          0xf8c77f1e98L,
                          0xf8cc6bf960L,
                          "variableDeclaration")),
                  MetaAdapterFactory.getContainmentLink(
                      0xf3061a5392264cc5L,
                      0xa443f952ceaf5816L,
                      0xf8c37a7f6eL,
                      0xf8c37f506eL,
                      "initializer")),
              module)
          : null);
    }
  }
  /*package*/ static boolean lvalue_id1653mnvAgpj(@NotNull SAbstractConcept __thisConcept__) {
    return true;
  }

  /*package*/ StaticFieldReference__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((Object) eval_idhEwJgmp(node, (SModule) parameters[0]));
      case 1:
        return (T) ((Boolean) isCompileTimeConstant_idi1LOPRp(node));
      case 2:
        return (T) ((Object) getCompileTimeConstantValue_idi1LP2xI(node, (SModule) parameters[0]));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 3:
        return (T) ((Boolean) lvalue_id1653mnvAgpj(concept));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }

  private static SModule check_o8sx3d_a0d0a(SModel checkedDotOperand) {
    if (null != checkedDotOperand) {
      return checkedDotOperand.getModule();
    }
    return null;
  }
}
public final class BuildLayout_Node__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x798100da4f0a421aL,
          0xb99171f8c50ce5d2L,
          0x668c6cfbafac4c85L,
          "jetbrains.mps.build.structure.BuildLayout_Node");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Void> unpack_id6bGbH3Svq6g =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("unpack")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("6bGbH3Svq6g")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter(UnpackHelper.class, ""),
              SMethodBuilder.createJavaParameter(Iterable.class, ""));
  public static final SMethod<Boolean> exports_id5FtnUVJQES1 =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("exports")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("5FtnUVJQES1")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(Object.class, ""));
  public static final SMethod<String> location_id6b4RkXS8sT2 =
      new SMethodBuilder<String>(new SJavaCompoundTypeImpl(String.class))
          .name("location")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("6b4RkXS8sT2")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter(DependenciesHelper.class, ""),
              SMethodBuilder.createJavaParameter(Object.class, ""));
  public static final SMethod<Void> appendName_id1bWeed$ownT =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("appendName")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1bWeed$ownT")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter(StringBuilder.class, ""));
  public static final SMethod<String> getPresentation_idhEwIMiw =
      new SMethodBuilder<String>(new SJavaCompoundTypeImpl(String.class))
          .name("getPresentation")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIMiw")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> isFolder_id1bWeed$oPYW =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isFolder")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1bWeed$oPYW")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> isFile_id1bWeed$oPZ2 =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isFile")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1bWeed$oPZ2")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Void> appendName_internal_id1bWeed$oEMe =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("appendName_internal")
          .modifiers(SModifiersImpl.create(1, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1bWeed$oEMe")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter(StringBuilder.class, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          unpack_id6bGbH3Svq6g,
          exports_id5FtnUVJQES1,
          location_id6b4RkXS8sT2,
          appendName_id1bWeed$ownT,
          getPresentation_idhEwIMiw,
          isFolder_id1bWeed$oPYW,
          isFile_id1bWeed$oPZ2,
          appendName_internal_id1bWeed$oEMe);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static void unpack_id6bGbH3Svq6g(
      @NotNull SNode __thisNode__, UnpackHelper helper, Iterable<Object> artifacts) {
    // nop
  }
  /*package*/ static boolean exports_id5FtnUVJQES1(@NotNull SNode __thisNode__, Object artifactId) {
    return false;
  }
  /*package*/ static String location_id6b4RkXS8sT2(
      @NotNull SNode __thisNode__, DependenciesHelper helper, Object artifactId) {
    return helper.locations().get(__thisNode__);
  }
  /*package*/ static void appendName_id1bWeed$ownT(
      @NotNull SNode __thisNode__, SNode parent, StringBuilder sb) {
    if (SNodeOperations.isInstanceOf(
        parent,
        MetaAdapterFactory.getConcept(
            0x798100da4f0a421aL,
            0xb99171f8c50ce5d2L,
            0x668c6cfbafac4c85L,
            "jetbrains.mps.build.structure.BuildLayout_Node"))) {
      sb.append("/");
    }
    sb.append(
        (SPropertyOperations.getString(
                    SNodeOperations.getConceptDeclaration(__thisNode__),
                    MetaAdapterFactory.getProperty(
                        0xc72da2b97cce4447L,
                        0x8389f407dc1158b7L,
                        0x1103553c5ffL,
                        0x46ab0ad5826c74caL,
                        "conceptAlias"))
                != null
            ? SPropertyOperations.getString(
                SNodeOperations.getConceptDeclaration(__thisNode__),
                MetaAdapterFactory.getProperty(
                    0xc72da2b97cce4447L,
                    0x8389f407dc1158b7L,
                    0x1103553c5ffL,
                    0x46ab0ad5826c74caL,
                    "conceptAlias"))
            : SPropertyOperations.getString(
                SNodeOperations.getConceptDeclaration(__thisNode__),
                MetaAdapterFactory.getProperty(
                    0xceab519525ea4f22L,
                    0x9b92103b95ca8c0cL,
                    0x110396eaaa4L,
                    0x110396ec041L,
                    "name"))));
  }
  /*package*/ static String getPresentation_idhEwIMiw(@NotNull SNode __thisNode__) {
    StringBuilder sb = new StringBuilder();
    BuildLayout_Node__BehaviorDescriptor.appendName_internal_id1bWeed$oEMe.invoke(
        SNodeOperations.asSConcept(
            MetaAdapterFactory.getConcept(
                    0x798100da4f0a421aL,
                    0xb99171f8c50ce5d2L,
                    0x668c6cfbafac4c85L,
                    "jetbrains.mps.build.structure.BuildLayout_Node")
                .getDeclarationNode()),
        __thisNode__,
        sb);
    return sb.toString();
  }
  /*package*/ static boolean isFolder_id1bWeed$oPYW(@NotNull SNode __thisNode__) {
    return false;
  }
  /*package*/ static boolean isFile_id1bWeed$oPZ2(@NotNull SNode __thisNode__) {
    return false;
  }
  /*package*/ static void appendName_internal_id1bWeed$oEMe(
      @NotNull SAbstractConcept __thisConcept__, SNode node, StringBuilder sb) {
    SNode parent =
        SNodeOperations.as(
            SNodeOperations.getParent(node),
            MetaAdapterFactory.getInterfaceConcept(
                0x798100da4f0a421aL,
                0xb99171f8c50ce5d2L,
                0x62ec2ed0f87da183L,
                "jetbrains.mps.build.structure.BuildLayout_PathElement"));
    if (parent != null) {
      BuildLayout_Node__BehaviorDescriptor.appendName_internal_id1bWeed$oEMe.invoke(
          SNodeOperations.asSConcept(
              MetaAdapterFactory.getConcept(
                      0x798100da4f0a421aL,
                      0xb99171f8c50ce5d2L,
                      0x668c6cfbafac4c85L,
                      "jetbrains.mps.build.structure.BuildLayout_Node")
                  .getDeclarationNode()),
          parent,
          sb);
    }
    BuildLayout_PathElement__BehaviorDescriptor.appendName_id1bWeed$ownT.invoke(node, parent, sb);
  }

  /*package*/ BuildLayout_Node__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        unpack_id6bGbH3Svq6g(node, (UnpackHelper) parameters[0], (Iterable<Object>) parameters[1]);
        return null;
      case 1:
        return (T) ((Boolean) exports_id5FtnUVJQES1(node, (Object) parameters[0]));
      case 2:
        return (T)
            ((String)
                location_id6b4RkXS8sT2(
                    node, (DependenciesHelper) parameters[0], (Object) parameters[1]));
      case 3:
        appendName_id1bWeed$ownT(node, (SNode) parameters[0], (StringBuilder) parameters[1]);
        return null;
      case 4:
        return (T) ((String) getPresentation_idhEwIMiw(node));
      case 5:
        return (T) ((Boolean) isFolder_id1bWeed$oPYW(node));
      case 6:
        return (T) ((Boolean) isFile_id1bWeed$oPZ2(node));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 7:
        appendName_internal_id1bWeed$oEMe(
            concept, (SNode) parameters[0], (StringBuilder) parameters[1]);
        return null;
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class MapType__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x8388864671ce4f1cL,
          0x9c53c54016f6ad4fL,
          0x116db7e6bcbL,
          "jetbrains.mps.baseLanguage.collections.structure.MapType");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<String> getPresentation_idhEwIMiw =
      new SMethodBuilder<String>(new SJavaCompoundTypeImpl(String.class))
          .name("getPresentation")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIMiw")
          .registry(REGISTRY)
          .build();
  public static final SMethod<List<SNode>> getAbstractCreators_id6A07P3f4z36 =
      new SMethodBuilder<List<SNode>>(
              new SJavaCompoundTypeImpl((Class<List<SNode>>) ((Class) Object.class)))
          .name("getAbstractCreators")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("6A07P3f4z36")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SModel>) ((Class) Object.class), ""));
  public static final SMethod<SNode> getClassExpression_idhEwIzOd =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getClassExpression")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIzOd")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> canBeCoerced_id5uUZ$FUUb6B =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("canBeCoerced")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("5uUZ$FUUb6B")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter(String.class, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          getPresentation_idhEwIMiw,
          getAbstractCreators_id6A07P3f4z36,
          getClassExpression_idhEwIzOd,
          canBeCoerced_id5uUZ$FUUb6B);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static String getPresentation_idhEwIMiw(@NotNull SNode __thisNode__) {
    return SConceptOperations.conceptAlias(SNodeOperations.getConcept(__thisNode__))
        + "<"
        + BaseConcept__BehaviorDescriptor.getPresentation_idhEwIMiw.invoke(
            SLinkOperations.getTarget(
                __thisNode__,
                MetaAdapterFactory.getContainmentLink(
                    0x8388864671ce4f1cL,
                    0x9c53c54016f6ad4fL,
                    0x116db7e6bcbL,
                    0x116db7f62a8L,
                    "keyType")))
        + ","
        + BaseConcept__BehaviorDescriptor.getPresentation_idhEwIMiw.invoke(
            SLinkOperations.getTarget(
                __thisNode__,
                MetaAdapterFactory.getContainmentLink(
                    0x8388864671ce4f1cL,
                    0x9c53c54016f6ad4fL,
                    0x116db7e6bcbL,
                    0x116db7f8516L,
                    "valueType")))
        + ">";
  }
  /*package*/ static List<SNode> getAbstractCreators_id6A07P3f4z36(
      @NotNull SNode __thisNode__, SModel targetModel) {
    List<SNode> result = new ArrayList<SNode>();
    ListSequence.fromList(result)
        .addElement(
            _quotation_createNode_icy1a5_a0a1a1(
                SLinkOperations.getTarget(
                    __thisNode__,
                    MetaAdapterFactory.getContainmentLink(
                        0x8388864671ce4f1cL,
                        0x9c53c54016f6ad4fL,
                        0x116db7e6bcbL,
                        0x116db7f62a8L,
                        "keyType")),
                SLinkOperations.getTarget(
                    __thisNode__,
                    MetaAdapterFactory.getContainmentLink(
                        0x8388864671ce4f1cL,
                        0x9c53c54016f6ad4fL,
                        0x116db7e6bcbL,
                        0x116db7f8516L,
                        "valueType"))));
    ListSequence.fromList(result)
        .addElement(
            _quotation_createNode_icy1a5_a0a2a1(
                SLinkOperations.getTarget(
                    __thisNode__,
                    MetaAdapterFactory.getContainmentLink(
                        0x8388864671ce4f1cL,
                        0x9c53c54016f6ad4fL,
                        0x116db7e6bcbL,
                        0x116db7f62a8L,
                        "keyType")),
                SLinkOperations.getTarget(
                    __thisNode__,
                    MetaAdapterFactory.getContainmentLink(
                        0x8388864671ce4f1cL,
                        0x9c53c54016f6ad4fL,
                        0x116db7e6bcbL,
                        0x116db7f8516L,
                        "valueType"))));
    ListSequence.fromList(result)
        .addSequence(
            Sequence.fromIterable(
                CustomContainersUtil.containerCreators(targetModel, __thisNode__)));
    return result;
  }
  /*package*/ static SNode getClassExpression_idhEwIzOd(@NotNull SNode __thisNode__) {
    return _quotation_createNode_icy1a5_a0a2();
  }
  /*package*/ static boolean canBeCoerced_id5uUZ$FUUb6B(
      @NotNull SNode __thisNode__, String conceptFqName) {
    if ("jetbrains.mps.baseLanguage.collections.structure.LinkedListType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.DequeType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.StackType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.QueueType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.SetType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.ListType".equals(conceptFqName)
        || "jetbrains.mps.baseLanguage.collections.structure.SortedSetType".equals(conceptFqName)) {
      return false;
    }

    return true;
  }

  /*package*/ MapType__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((String) getPresentation_idhEwIMiw(node));
      case 1:
        return (T) ((List<SNode>) getAbstractCreators_id6A07P3f4z36(node, (SModel) parameters[0]));
      case 2:
        return (T) ((SNode) getClassExpression_idhEwIzOd(node));
      case 3:
        return (T) ((Boolean) canBeCoerced_id5uUZ$FUUb6B(node, (String) parameters[0]));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }

  private static SNode _quotation_createNode_icy1a5_a0a1a1(Object parameter_1, Object parameter_2) {
    PersistenceFacade facade = PersistenceFacade.getInstance();
    SNode quotedNode_3 = null;
    SNode quotedNode_4 = null;
    SNode quotedNode_5 = null;
    quotedNode_3 =
        SModelUtil_new.instantiateConceptDeclaration(
            MetaAdapterFactory.getConcept(
                0x8388864671ce4f1cL,
                0x9c53c54016f6ad4fL,
                0x116dbb34f2dL,
                "jetbrains.mps.baseLanguage.collections.structure.HashMapCreator"),
            null,
            null,
            false);
    quotedNode_4 = (SNode) parameter_1;
    if (quotedNode_4 != null) {
      quotedNode_3.addChild(
          MetaAdapterFactory.getContainmentLink(
              0x8388864671ce4f1cL, 0x9c53c54016f6ad4fL, 0x116dbb34f2dL, 0x116dbb5b4d0L, "keyType"),
          HUtil.copyIfNecessary(quotedNode_4));
    }
    quotedNode_5 = (SNode) parameter_2;
    if (quotedNode_5 != null) {
      quotedNode_3.addChild(
          MetaAdapterFactory.getContainmentLink(
              0x8388864671ce4f1cL,
              0x9c53c54016f6ad4fL,
              0x116dbb34f2dL,
              0x116dbb5d76dL,
              "valueType"),
          HUtil.copyIfNecessary(quotedNode_5));
    }
    return quotedNode_3;
  }

  private static SNode _quotation_createNode_icy1a5_a0a2a1(Object parameter_1, Object parameter_2) {
    PersistenceFacade facade = PersistenceFacade.getInstance();
    SNode quotedNode_3 = null;
    SNode quotedNode_4 = null;
    SNode quotedNode_5 = null;
    quotedNode_3 =
        SModelUtil_new.instantiateConceptDeclaration(
            MetaAdapterFactory.getConcept(
                0x8388864671ce4f1cL,
                0x9c53c54016f6ad4fL,
                0x120c2ad6432L,
                "jetbrains.mps.baseLanguage.collections.structure.LinkedHashMapCreator"),
            null,
            null,
            false);
    quotedNode_4 = (SNode) parameter_1;
    if (quotedNode_4 != null) {
      quotedNode_3.addChild(
          MetaAdapterFactory.getContainmentLink(
              0x8388864671ce4f1cL, 0x9c53c54016f6ad4fL, 0x116dbb34f2dL, 0x116dbb5b4d0L, "keyType"),
          HUtil.copyIfNecessary(quotedNode_4));
    }
    quotedNode_5 = (SNode) parameter_2;
    if (quotedNode_5 != null) {
      quotedNode_3.addChild(
          MetaAdapterFactory.getContainmentLink(
              0x8388864671ce4f1cL,
              0x9c53c54016f6ad4fL,
              0x116dbb34f2dL,
              0x116dbb5d76dL,
              "valueType"),
          HUtil.copyIfNecessary(quotedNode_5));
    }
    return quotedNode_3;
  }

  private static SNode _quotation_createNode_icy1a5_a0a2() {
    PersistenceFacade facade = PersistenceFacade.getInstance();
    SNode quotedNode_1 = null;
    quotedNode_1 =
        SModelUtil_new.instantiateConceptDeclaration(
            MetaAdapterFactory.getConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0x103fb730c14L,
                "jetbrains.mps.baseLanguage.structure.ClassifierClassExpression"),
            null,
            null,
            false);
    quotedNode_1.setReference(
        MetaAdapterFactory.getReferenceLink(
            0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x103fb730c14L, 0x103fb73a43eL, "classifier"),
        SReference.create(
            MetaAdapterFactory.getReferenceLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0x103fb730c14L,
                0x103fb73a43eL,
                "classifier"),
            quotedNode_1,
            facade.createModelReference(
                "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)"),
            facade.createNodeId("~Map")));
    return quotedNode_1;
  }
}
public final class MigrationScript__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x9074634404fd4286L,
          0x97d5b46ae6a81709L,
          0x73e8a2c68b62c6a3L,
          "jetbrains.mps.lang.migration.structure.MigrationScript");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<SNode> getDescription_id7s$_UJMUysQ =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getDescription")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("7s$_UJMUysQ")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Iterable<SNode>> getExecuteAfter_id2bWK$jI6RRp =
      new SMethodBuilder<Iterable<SNode>>(
              new SJavaCompoundTypeImpl((Class<Iterable<SNode>>) ((Class) Object.class)))
          .name("getExecuteAfter")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("2bWK$jI6RRp")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Iterable<SNode>> getRequiredData_id7s$_UJMVosT =
      new SMethodBuilder<Iterable<SNode>>(
              new SJavaCompoundTypeImpl((Class<Iterable<SNode>>) ((Class) Object.class)))
          .name("getRequiredData")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("7s$_UJMVosT")
          .registry(REGISTRY)
          .build();
  public static final SMethod<SNode> getProducedData_id7s$_UJMVDH8 =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getProducedData")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("7s$_UJMVDH8")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> isRerunnable_id1JWcQ2Vfe4u =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isRerunnable")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1JWcQ2Vfe4u")
          .registry(REGISTRY)
          .build();
  public static final SMethod<SNode> getMethod_id6d7r2Fq2j7f =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getMethod")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("6d7r2Fq2j7f")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));
  public static final SMethod<Boolean> hasData_idw$qRK82$4u =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("hasData")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("w$qRK82$4u")
          .registry(REGISTRY)
          .build();
  public static final SMethod<String> getGeneratedClassName_id7w5LXrJJkLe =
      new SMethodBuilder<String>(new SJavaCompoundTypeImpl(String.class))
          .name("getGeneratedClassName")
          .modifiers(SModifiersImpl.create(1, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("7w5LXrJJkLe")
          .registry(REGISTRY)
          .build();
  public static final SMethod<SNode> getDescriptor_idUBgfI9eMAt =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getDescriptor")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("UBgfI9eMAt")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Integer> fromVersion_id4uVwhQyFcnl =
      new SMethodBuilder<Integer>(new SJavaCompoundTypeImpl(Integer.TYPE))
          .name("fromVersion")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("4uVwhQyFcnl")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> isVersionSet_id4uVwhQyFpOe =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isVersionSet")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("4uVwhQyFpOe")
          .registry(REGISTRY)
          .build();
  public static final SMethod<String> getPresentation_idhEwIMiw =
      new SMethodBuilder<String>(new SJavaCompoundTypeImpl(String.class))
          .name("getPresentation")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIMiw")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Icon> getAdditionalIcon_id4mxbjAOAE$e =
      new SMethodBuilder<Icon>(new SJavaCompoundTypeImpl(Icon.class))
          .name("getAdditionalIcon")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("4mxbjAOAE$e")
          .registry(REGISTRY)
          .build();

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          getDescription_id7s$_UJMUysQ,
          getExecuteAfter_id2bWK$jI6RRp,
          getRequiredData_id7s$_UJMVosT,
          getProducedData_id7s$_UJMVDH8,
          isRerunnable_id1JWcQ2Vfe4u,
          getMethod_id6d7r2Fq2j7f,
          hasData_idw$qRK82$4u,
          getGeneratedClassName_id7w5LXrJJkLe,
          getDescriptor_idUBgfI9eMAt,
          fromVersion_id4uVwhQyFcnl,
          isVersionSet_id4uVwhQyFpOe,
          getPresentation_idhEwIMiw,
          getAdditionalIcon_id4mxbjAOAE$e);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static SNode getDescription_id7s$_UJMUysQ(@NotNull SNode __thisNode__) {
    return SNodeOperations.cast(
        Sequence.fromIterable(
                DSLClassMember__BehaviorDescriptor.find_id2gzehMfi1$l.invoke(
                    SNodeOperations.getNode(
                        "90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)",
                        "1825613483880658538"),
                    __thisNode__))
            .first(),
        MetaAdapterFactory.getConcept(
            0xc7d5b9dda05f4be2L,
            0xbc73f2e16994cc67L,
            0x59e9926e84100d04L,
            "jetbrains.mps.baseLanguage.lightweightdsl.structure.StringPropertyInstance"));
  }
  /*package*/ static Iterable<SNode> getExecuteAfter_id2bWK$jI6RRp(@NotNull SNode __thisNode__) {
    return SLinkOperations.getChildren(
        SNodeOperations.cast(
            Sequence.fromIterable(
                    DSLClassMember__BehaviorDescriptor.find_id2gzehMfi1$l.invoke(
                        SNodeOperations.getNode(
                            "90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)",
                            "8260330507834347594"),
                        __thisNode__))
                .first(),
            MetaAdapterFactory.getConcept(
                0x9074634404fd4286L,
                0x97d5b46ae6a81709L,
                0x398343344f07b404L,
                "jetbrains.mps.lang.migration.structure.ExecuteAfterDeclaration")),
        MetaAdapterFactory.getContainmentLink(
            0x9074634404fd4286L,
            0x97d5b46ae6a81709L,
            0x398343344f07b404L,
            0x398343344f0998adL,
            "dependencies"));
  }
  /*package*/ static Iterable<SNode> getRequiredData_id7s$_UJMVosT(@NotNull SNode __thisNode__) {
    return SLinkOperations.getChildren(
        SNodeOperations.cast(
            Sequence.fromIterable(
                    DSLClassMember__BehaviorDescriptor.find_id2gzehMfi1$l.invoke(
                        SNodeOperations.getNode(
                            "90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)",
                            "4144229974054260078"),
                        __thisNode__))
                .first(),
            MetaAdapterFactory.getConcept(
                0x9074634404fd4286L,
                0x97d5b46ae6a81709L,
                0x3d90e8d384845a8fL,
                "jetbrains.mps.lang.migration.structure.RequiredDataDeclaration")),
        MetaAdapterFactory.getContainmentLink(
            0x9074634404fd4286L,
            0x97d5b46ae6a81709L,
            0x3d90e8d384845a8fL,
            0x6dbdc0e8bf0bc82aL,
            "dependencies"));
  }
  /*package*/ static SNode getProducedData_id7s$_UJMVDH8(@NotNull SNode __thisNode__) {
    return SLinkOperations.getTarget(
        SNodeOperations.cast(
            Sequence.fromIterable(
                    DSLClassMember__BehaviorDescriptor.find_id2gzehMfi1$l.invoke(
                        SNodeOperations.getNode(
                            "90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)",
                            "5820409521798105972"),
                        __thisNode__))
                .first(),
            MetaAdapterFactory.getConcept(
                0x9074634404fd4286L,
                0x97d5b46ae6a81709L,
                0x50c63f9f4a0dacfbL,
                "jetbrains.mps.lang.migration.structure.ProducedDataDeclaration")),
        MetaAdapterFactory.getReferenceLink(
            0x9074634404fd4286L,
            0x97d5b46ae6a81709L,
            0x50c63f9f4a0dacfbL,
            0x50c63f9f4a0dad15L,
            "dataType"));
  }
  /*package*/ static boolean isRerunnable_id1JWcQ2Vfe4u(@NotNull SNode __thisNode__) {
    SNode prop =
        Sequence.fromIterable(
                DSLClassMember__BehaviorDescriptor.find_id2gzehMfi1$l.invoke(
                    SNodeOperations.getNode(
                        "90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)",
                        "2016543223706274716"),
                    __thisNode__))
            .first();
    return prop != null
        && SPropertyOperations.getBoolean(
            SNodeOperations.cast(
                prop,
                MetaAdapterFactory.getConcept(
                    0xc7d5b9dda05f4be2L,
                    0xbc73f2e16994cc67L,
                    0x59e9926e84100ec3L,
                    "jetbrains.mps.baseLanguage.lightweightdsl.structure.BooleanPropertyInstance")),
            MetaAdapterFactory.getProperty(
                0xc7d5b9dda05f4be2L,
                0xbc73f2e16994cc67L,
                0x59e9926e84100ec3L,
                0x59e9926e84100ec4L,
                "value"));
  }
  /*package*/ static SNode getMethod_id6d7r2Fq2j7f(@NotNull SNode __thisNode__, SNode md) {
    return SNodeOperations.cast(
        Sequence.fromIterable(
                DSLClassMember__BehaviorDescriptor.find_id2gzehMfi1$l.invoke(md, __thisNode__))
            .first(),
        MetaAdapterFactory.getConcept(
            0xc7d5b9dda05f4be2L,
            0xbc73f2e16994cc67L,
            0x340eb2bd2e03d154L,
            "jetbrains.mps.baseLanguage.lightweightdsl.structure.MethodInstance"));
  }
  /*package*/ static boolean hasData_idw$qRK82$4u(@NotNull SNode __thisNode__) {
    Iterable<SNode> pd =
        SNodeOperations.ofConcept(
            SLinkOperations.getChildren(
                __thisNode__,
                MetaAdapterFactory.getContainmentLink(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0x101d9d3ca30L,
                    0x4a9a46de59132803L,
                    "member")),
            MetaAdapterFactory.getConcept(
                0x9074634404fd4286L,
                0x97d5b46ae6a81709L,
                0x50c63f9f4a0dacfbL,
                "jetbrains.mps.lang.migration.structure.ProducedDataDeclaration"));
    return Sequence.fromIterable(pd).isNotEmpty()
        && Sequence.fromIterable(pd)
                .where(
                    new IWhereFilter<SNode>() {
                      public boolean accept(SNode it) {
                        return (SLinkOperations.getTarget(
                                it,
                                MetaAdapterFactory.getReferenceLink(
                                    0x9074634404fd4286L,
                                    0x97d5b46ae6a81709L,
                                    0x50c63f9f4a0dacfbL,
                                    0x50c63f9f4a0dad15L,
                                    "dataType"))
                            != null);
                      }
                    })
                .select(
                    new ISelector<SNode, SNode>() {
                      public SNode select(SNode it) {
                        return SLinkOperations.getTarget(
                            it,
                            MetaAdapterFactory.getReferenceLink(
                                0x9074634404fd4286L,
                                0x97d5b46ae6a81709L,
                                0x50c63f9f4a0dacfbL,
                                0x50c63f9f4a0dad15L,
                                "dataType"));
                      }
                    })
            != null;
  }
  /*package*/ static String getGeneratedClassName_id7w5LXrJJkLe(
      @NotNull SAbstractConcept __thisConcept__) {
    return "MigrationDescriptor";
  }
  /*package*/ static SNode getDescriptor_idUBgfI9eMAt(@NotNull SNode __thisNode__) {
    return SNodeOperations.getNode(
        "90746344-04fd-4286-97d5-b46ae6a81709/r:52a3d974-bd4f-4651-ba6e-a2de5e336d95(jetbrains.mps.lang.migration/jetbrains.mps.lang.migration.methods)",
        "2260648088429212842");
  }
  /*package*/ static int fromVersion_id4uVwhQyFcnl(@NotNull SNode __thisNode__) {
    return SPropertyOperations.getInteger(
        __thisNode__,
        MetaAdapterFactory.getProperty(
            0x9074634404fd4286L,
            0x97d5b46ae6a81709L,
            0x73e8a2c68b62c6a3L,
            0x50c63f9f4a0dac17L,
            "fromVersion"));
  }
  /*package*/ static boolean isVersionSet_id4uVwhQyFpOe(@NotNull SNode __thisNode__) {
    return __thisNode__.getProperty(
            MetaAdapterFactory.getProperty(
                0x9074634404fd4286L,
                0x97d5b46ae6a81709L,
                0x73e8a2c68b62c6a3L,
                0x50c63f9f4a0dac17L,
                "fromVersion"))
        != null;
  }
  /*package*/ static String getPresentation_idhEwIMiw(@NotNull SNode __thisNode__) {
    return ((String)
        IMigrationUnit__BehaviorDescriptor.getVersionedName_id5T5Tgcp0u0A.invoke(__thisNode__));
  }
  /*package*/ static Icon getAdditionalIcon_id4mxbjAOAE$e(@NotNull SNode __thisNode__) {
    return null;
  }

  /*package*/ MigrationScript__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((SNode) getDescription_id7s$_UJMUysQ(node));
      case 1:
        return (T) ((Iterable<SNode>) getExecuteAfter_id2bWK$jI6RRp(node));
      case 2:
        return (T) ((Iterable<SNode>) getRequiredData_id7s$_UJMVosT(node));
      case 3:
        return (T) ((SNode) getProducedData_id7s$_UJMVDH8(node));
      case 4:
        return (T) ((Boolean) isRerunnable_id1JWcQ2Vfe4u(node));
      case 5:
        return (T) ((SNode) getMethod_id6d7r2Fq2j7f(node, (SNode) parameters[0]));
      case 6:
        return (T) ((Boolean) hasData_idw$qRK82$4u(node));
      case 8:
        return (T) ((SNode) getDescriptor_idUBgfI9eMAt(node));
      case 9:
        return (T) ((Integer) fromVersion_id4uVwhQyFcnl(node));
      case 10:
        return (T) ((Boolean) isVersionSet_id4uVwhQyFpOe(node));
      case 11:
        return (T) ((String) getPresentation_idhEwIMiw(node));
      case 12:
        return (T) ((Icon) getAdditionalIcon_id4mxbjAOAE$e(node));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 7:
        return (T) ((String) getGeneratedClassName_id7w5LXrJJkLe(concept));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class AndExpression__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0xf3061a5392264cc5L,
          0xa443f952ceaf5816L,
          0xfb7c3070eeL,
          "jetbrains.mps.baseLanguage.structure.AndExpression");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Integer> getPriority_id1653mnvAgo2 =
      new SMethodBuilder<Integer>(new SJavaCompoundTypeImpl(Integer.TYPE))
          .name("getPriority")
          .modifiers(SModifiersImpl.create(9, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1653mnvAgo2")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Object> calculateCompileTimeConstantValue_id1o8Ht9sN5Hn =
      new SMethodBuilder<Object>(new SJavaCompoundTypeImpl(Object.class))
          .name("calculateCompileTimeConstantValue")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1o8Ht9sN5Hn")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter(Object.class, ""),
              SMethodBuilder.createJavaParameter(Object.class, ""));
  public static final SMethod<NextProgramPoint> getNextProgramPoint_id3F8BxGibk8h =
      new SMethodBuilder<NextProgramPoint>(new SJavaCompoundTypeImpl(NextProgramPoint.class))
          .name("getNextProgramPoint")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("3F8BxGibk8h")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter(Boolean.TYPE, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          getPriority_id1653mnvAgo2,
          calculateCompileTimeConstantValue_id1o8Ht9sN5Hn,
          getNextProgramPoint_id3F8BxGibk8h);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static int getPriority_id1653mnvAgo2(@NotNull SAbstractConcept __thisConcept__) {
    return 3;
  }
  /*package*/ static Object calculateCompileTimeConstantValue_id1o8Ht9sN5Hn(
      @NotNull SNode __thisNode__, Object leftValue, Object rightValue) {
    if (leftValue instanceof Boolean && rightValue instanceof Boolean) {
      Boolean a = (Boolean) leftValue;
      Boolean b = (Boolean) rightValue;
      return a && b;
    }
    return null;
  }
  /*package*/ static NextProgramPoint getNextProgramPoint_id3F8BxGibk8h(
      @NotNull SNode __thisNode__, @NotNull SNode child, boolean value) {
    if (child
        == SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getContainmentLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xfbdeb6fecfL,
                0xfbdeb7a11cL,
                "leftExpression"))) {
      if (value
          && SLinkOperations.getTarget(
                  __thisNode__,
                  MetaAdapterFactory.getContainmentLink(
                      0xf3061a5392264cc5L,
                      0xa443f952ceaf5816L,
                      0xfbdeb6fecfL,
                      0xfbdeb7a11bL,
                      "rightExpression"))
              != null) {
        return NextProgramPoint.continueAt(
            SLinkOperations.getTarget(
                __thisNode__,
                MetaAdapterFactory.getContainmentLink(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0xfbdeb6fecfL,
                    0xfbdeb7a11bL,
                    "rightExpression")),
            false);
      } else {
        if (SNodeOperations.isInstanceOf(
            SNodeOperations.getParent(__thisNode__),
            MetaAdapterFactory.getInterfaceConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0x3ac89e1b122cd5c2L,
                "jetbrains.mps.baseLanguage.structure.IConditional"))) {
          NextProgramPoint point =
              IConditional__BehaviorDescriptor.getNextProgramPoint_id3F8BxGibk8h.invoke(
                  SNodeOperations.cast(
                      SNodeOperations.getParent(__thisNode__),
                      MetaAdapterFactory.getInterfaceConcept(
                          0xf3061a5392264cc5L,
                          0xa443f952ceaf5816L,
                          0x3ac89e1b122cd5c2L,
                          "jetbrains.mps.baseLanguage.structure.IConditional")),
                  __thisNode__,
                  ((boolean) value));
          if (point != null) {
            return point.withJump();
          }
        }
      }
    } else if (child
        == SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getContainmentLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xfbdeb6fecfL,
                0xfbdeb7a11bL,
                "rightExpression"))) {
      if (SNodeOperations.isInstanceOf(
          SNodeOperations.getParent(__thisNode__),
          MetaAdapterFactory.getInterfaceConcept(
              0xf3061a5392264cc5L,
              0xa443f952ceaf5816L,
              0x3ac89e1b122cd5c2L,
              "jetbrains.mps.baseLanguage.structure.IConditional"))) {
        return IConditional__BehaviorDescriptor.getNextProgramPoint_id3F8BxGibk8h.invoke(
            SNodeOperations.cast(
                SNodeOperations.getParent(__thisNode__),
                MetaAdapterFactory.getInterfaceConcept(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0x3ac89e1b122cd5c2L,
                    "jetbrains.mps.baseLanguage.structure.IConditional")),
            __thisNode__,
            ((boolean) value));
      }
    }
    return null;
  }

  /*package*/ AndExpression__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 1:
        return (T)
            ((Object)
                calculateCompileTimeConstantValue_id1o8Ht9sN5Hn(
                    node, (Object) parameters[0], (Object) parameters[1]));
      case 2:
        return (T)
            ((NextProgramPoint)
                getNextProgramPoint_id3F8BxGibk8h(
                    node, (SNode) parameters[0], ((boolean) (Boolean) parameters[1])));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((Integer) getPriority_id1653mnvAgo2(concept));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class ReportConfigurationErrorStatement__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x756e911c3f1f4a48L,
          0xbdf5a2ceb91b723cL,
          0xd244b712f910103L,
          "jetbrains.mps.execution.settings.structure.ReportConfigurationErrorStatement");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Void> collectUncaughtMethodThrowables_id4Gt7ANIVH8f =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("collectUncaughtMethodThrowables")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("4Gt7ANIVH8f")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter((Class<Set<SNode>>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter(Boolean.TYPE, ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(collectUncaughtMethodThrowables_id4Gt7ANIVH8f);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static void collectUncaughtMethodThrowables_id4Gt7ANIVH8f(
      @NotNull SNode __thisNode__, Set<SNode> throwables, boolean ignoreMayBeThrowables) {
    Statement__BehaviorDescriptor.collectUncaughtMethodThrowables_id4Gt7ANIVH8f.invokeSpecial(
        __thisNode__, throwables, ((boolean) ignoreMayBeThrowables));
    SetSequence.fromSet(throwables)
        .addElement(
            SLinkOperations.getTarget(
                _quotation_createNode_3gtax0_a0a0b0a(),
                MetaAdapterFactory.getReferenceLink(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0x101de48bf9eL,
                    0x101de490babL,
                    "classifier")));
  }

  /*package*/ ReportConfigurationErrorStatement__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        collectUncaughtMethodThrowables_id4Gt7ANIVH8f(
            node, (Set<SNode>) parameters[0], ((boolean) (Boolean) parameters[1]));
        return null;
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }

  private static SNode _quotation_createNode_3gtax0_a0a0b0a() {
    PersistenceFacade facade = PersistenceFacade.getInstance();
    SNode quotedNode_1 = null;
    quotedNode_1 =
        SModelUtil_new.instantiateConceptDeclaration(
            MetaAdapterFactory.getConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0x101de48bf9eL,
                "jetbrains.mps.baseLanguage.structure.ClassifierType"),
            null,
            null,
            false);
    quotedNode_1.setReference(
        MetaAdapterFactory.getReferenceLink(
            0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x101de48bf9eL, 0x101de490babL, "classifier"),
        SReference.create(
            MetaAdapterFactory.getReferenceLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0x101de48bf9eL,
                0x101de490babL,
                "classifier"),
            quotedNode_1,
            facade.createModelReference(
                "498d89d2-c2e9-11e2-ad49-6cf049e62fe5/java:com.intellij.execution.configurations(MPS.IDEA/)"),
            facade.createNodeId("~RuntimeConfigurationException")));
    return quotedNode_1;
  }
}
public final class NodeReachable__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x8585453e6bfb4d80L,
          0x98deb16074f1d86cL,
          0x11b02f9eeb8L,
          "jetbrains.mps.lang.test.structure.NodeReachable");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Void> perform_iddCRb6FLnvk =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("perform")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("dCRb6FLnvk")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));
  public static final SMethod<String> getDefaultName_id7scb9XJdmH2 =
      new SMethodBuilder<String>(new SJavaCompoundTypeImpl(String.class))
          .name("getDefaultName")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("7scb9XJdmH2")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> expectsErrorsInside_id3efgZvcKrj8 =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("expectsErrorsInside")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("3efgZvcKrj8")
          .registry(REGISTRY)
          .build();

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          perform_iddCRb6FLnvk, getDefaultName_id7scb9XJdmH2, expectsErrorsInside_id3efgZvcKrj8);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static void perform_iddCRb6FLnvk(@NotNull SNode __thisNode__, SNode node) {
    NodeDataFlowCheckerUtil.checkDataFlow(
        SNodeOperations.getNodeAncestor(
            node,
            MetaAdapterFactory.getConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf8cc56b200L,
                "jetbrains.mps.baseLanguage.structure.StatementList"),
            false,
            false));
  }
  /*package*/ static String getDefaultName_id7scb9XJdmH2(@NotNull SNode __thisNode__) {
    return "NodeReachableCheck";
  }
  /*package*/ static boolean expectsErrorsInside_id3efgZvcKrj8(@NotNull SNode __thisNode__) {
    return false;
  }

  /*package*/ NodeReachable__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        perform_iddCRb6FLnvk(node, (SNode) parameters[0]);
        return null;
      case 1:
        return (T) ((String) getDefaultName_id7scb9XJdmH2(node));
      case 2:
        return (T) ((Boolean) expectsErrorsInside_id3efgZvcKrj8(node));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class ReturnStatement__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0xf3061a5392264cc5L,
          0xa443f952ceaf5816L,
          0xf8cc67c7feL,
          "jetbrains.mps.baseLanguage.structure.ReturnStatement");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<List<SNode>> getFinallyBlocks_idhEwJbU4 =
      new SMethodBuilder<List<SNode>>(
              new SJavaCompoundTypeImpl((Class<List<SNode>>) ((Class) Object.class)))
          .name("getFinallyBlocks")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwJbU4")
          .registry(REGISTRY)
          .build();
  public static final SMethod<SNode> deriveType_idhEwIVPz =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("deriveType")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEwIVPz")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));
  public static final SMethod<SNode> getReturnJumpTarget_idhSV4OYy =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getReturnJumpTarget")
          .modifiers(SModifiersImpl.create(0, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hSV4OYy")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Boolean> isGuardClauseStatement_idi0z$q7V =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isGuardClauseStatement")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("i0z$q7V")
          .registry(REGISTRY)
          .build();

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(
          getFinallyBlocks_idhEwJbU4,
          deriveType_idhEwIVPz,
          getReturnJumpTarget_idhSV4OYy,
          isGuardClauseStatement_idi0z$q7V);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static List<SNode> getFinallyBlocks_idhEwJbU4(@NotNull SNode __thisNode__) {
    List<SNode> result = new ArrayList<SNode>();
    SNode current = __thisNode__;
    while (true) {
      if (SNodeOperations.isInstanceOf(
          current,
          MetaAdapterFactory.getConcept(
              0xf3061a5392264cc5L,
              0xa443f952ceaf5816L,
              0x10cacebf556L,
              "jetbrains.mps.baseLanguage.structure.TryStatement"))) {
        SNode tryStatement =
            SNodeOperations.cast(
                current,
                MetaAdapterFactory.getConcept(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0x10cacebf556L,
                    "jetbrains.mps.baseLanguage.structure.TryStatement"));
        if ((SLinkOperations.getTarget(
                    tryStatement,
                    MetaAdapterFactory.getContainmentLink(
                        0xf3061a5392264cc5L,
                        0xa443f952ceaf5816L,
                        0x10cacebf556L,
                        0x10cacecb713L,
                        "finallyBody"))
                != null)
            && SLinkOperations.getTarget(
                    tryStatement,
                    MetaAdapterFactory.getContainmentLink(
                        0xf3061a5392264cc5L,
                        0xa443f952ceaf5816L,
                        0x10cacebf556L,
                        0x10cacecb713L,
                        "finallyBody"))
                != SNodeOperations.getParent(__thisNode__)) {
          ListSequence.fromList(result)
              .addElement(
                  SLinkOperations.getTarget(
                      tryStatement,
                      MetaAdapterFactory.getContainmentLink(
                          0xf3061a5392264cc5L,
                          0xa443f952ceaf5816L,
                          0x10cacebf556L,
                          0x10cacecb713L,
                          "finallyBody")));
        }
      }
      current = SNodeOperations.getParent(current);
      if (!(SNodeOperations.isInstanceOf(
              current,
              MetaAdapterFactory.getConcept(
                  0xf3061a5392264cc5L,
                  0xa443f952ceaf5816L,
                  0xf8cc56b215L,
                  "jetbrains.mps.baseLanguage.structure.Statement")))
          && !(SNodeOperations.isInstanceOf(
              current,
              MetaAdapterFactory.getConcept(
                  0xf3061a5392264cc5L,
                  0xa443f952ceaf5816L,
                  0xf8cc56b200L,
                  "jetbrains.mps.baseLanguage.structure.StatementList")))) {
        break;
      }
    }
    return result;
  }
  /*package*/ static SNode deriveType_idhEwIVPz(@NotNull SNode __thisNode__, SNode expression) {
    SNode type = null;
    if (SNodeOperations.getParent(expression) == __thisNode__
        && SNodeOperations.hasRole(
            expression,
            MetaAdapterFactory.getContainmentLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf8cc67c7feL,
                0xf8cc6bf96cL,
                "expression"))) {
      SNode ancestor =
          SNodeOperations.getNodeAncestorWhereConceptInList(
              __thisNode__,
              new SAbstractConcept[] {
                MetaAdapterFactory.getConcept(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0xf8cc56b1fcL,
                    "jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration"),
                MetaAdapterFactory.getConcept(
                    0xf3061a5392264cc5L,
                    0xa443f952ceaf5816L,
                    0x108bbca0f48L,
                    "jetbrains.mps.baseLanguage.structure.ConceptFunction")
              },
              false,
              false);
      if (SNodeOperations.isInstanceOf(
          ancestor,
          MetaAdapterFactory.getConcept(
              0xf3061a5392264cc5L,
              0xa443f952ceaf5816L,
              0xf8cc56b1fcL,
              "jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration"))) {
        type =
            SNodeOperations.copyNode(
                SLinkOperations.getTarget(
                    SNodeOperations.cast(
                        ancestor,
                        MetaAdapterFactory.getConcept(
                            0xf3061a5392264cc5L,
                            0xa443f952ceaf5816L,
                            0xf8cc56b1fcL,
                            "jetbrains.mps.baseLanguage.structure.BaseMethodDeclaration")),
                    MetaAdapterFactory.getContainmentLink(
                        0xf3061a5392264cc5L,
                        0xa443f952ceaf5816L,
                        0xf8cc56b1fcL,
                        0xf8cc56b1fdL,
                        "returnType")));
      } else {
        SNode expectedReturnType =
            ConceptFunction__BehaviorDescriptor.getExpectedReturnType_idhEwIGRD.invoke(
                SNodeOperations.cast(
                    ancestor,
                    MetaAdapterFactory.getConcept(
                        0xf3061a5392264cc5L,
                        0xa443f952ceaf5816L,
                        0x108bbca0f48L,
                        "jetbrains.mps.baseLanguage.structure.ConceptFunction")));
        if (SNodeOperations.isInstanceOf(
            expectedReturnType,
            MetaAdapterFactory.getConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf8c37f506dL,
                "jetbrains.mps.baseLanguage.structure.Type"))) {
          type =
              SNodeOperations.cast(
                  SNodeOperations.copyNode(expectedReturnType),
                  MetaAdapterFactory.getConcept(
                      0xf3061a5392264cc5L,
                      0xa443f952ceaf5816L,
                      0xf8c37f506dL,
                      "jetbrains.mps.baseLanguage.structure.Type"));
        }
      }
    }
    return type;
  }
  /*package*/ static SNode getReturnJumpTarget_idhSV4OYy(@NotNull SNode __thisNode__) {
    SNode container =
        SNodeOperations.getNodeAncestor(
            __thisNode__,
            MetaAdapterFactory.getInterfaceConcept(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0x11750ef8265L,
                "jetbrains.mps.baseLanguage.structure.IStatementListContainer"),
            false,
            false);
    if ((boolean)
        IStatementListContainer__BehaviorDescriptor.isExecuteSynchronous_idhTIpcC8.invoke(
            container)) {
      return SLinkOperations.getTarget(
          SNodeOperations.cast(
              container,
              MetaAdapterFactory.getConcept(
                  0xfd3920347849419dL,
                  0x907112563d152375L,
                  0x1174bed3125L,
                  "jetbrains.mps.baseLanguage.closures.structure.ClosureLiteral")),
          MetaAdapterFactory.getContainmentLink(
              0xfd3920347849419dL, 0x907112563d152375L, 0x1174bed3125L, 0x1174bf0522fL, "body"));
    }
    return null;
  }
  /*package*/ static boolean isGuardClauseStatement_idi0z$q7V(@NotNull SNode __thisNode__) {
    if (SNodeOperations.isInstanceOf(
        SLinkOperations.getTarget(
            __thisNode__,
            MetaAdapterFactory.getContainmentLink(
                0xf3061a5392264cc5L,
                0xa443f952ceaf5816L,
                0xf8cc67c7feL,
                0xf8cc6bf96cL,
                "expression")),
        MetaAdapterFactory.getConcept(
            0xf3061a5392264cc5L,
            0xa443f952ceaf5816L,
            0x116b46a08c4L,
            "jetbrains.mps.baseLanguage.structure.DotExpression"))) {
      return false;
    }
    return true;
  }

  /*package*/ ReturnStatement__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((List<SNode>) getFinallyBlocks_idhEwJbU4(node));
      case 1:
        return (T) ((SNode) deriveType_idhEwIVPz(node, (SNode) parameters[0]));
      case 2:
        return (T) ((SNode) getReturnJumpTarget_idhSV4OYy(node));
      case 3:
        return (T) ((Boolean) isGuardClauseStatement_idi0z$q7V(node));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class ScriptKindClassItem__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x18bc659203a64e29L,
          0xa83a7ff23bde13baL,
          0x72908ac6c78618c8L,
          "jetbrains.mps.lang.editor.structure.ScriptKindClassItem");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Boolean> isApplicableTo_idhEUcU7K =
      new SMethodBuilder<Boolean>(new SJavaCompoundTypeImpl(Boolean.TYPE))
          .name("isApplicableTo")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("hEUcU7K")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(isApplicableTo_idhEUcU7K);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static boolean isApplicableTo_idhEUcU7K(
      @NotNull SNode __thisNode__, SNode cellModel) {
    {
      SNode matchedNode_o7mo2_a0a = SNodeOperations.getParent(cellModel);
      {
        boolean matches_o7mo2_a0a0 = false;
        {
          SNode matchingNode_o7mo2_a0a0 = SNodeOperations.getParent(cellModel);
          if (matchingNode_o7mo2_a0a0 != null) {
            matches_o7mo2_a0a0 =
                matchingNode_o7mo2_a0a0
                    .getConcept()
                    .isSubConceptOf(
                        MetaAdapterFactory.getConcept(
                            0x18bc659203a64e29L,
                            0xa83a7ff23bde13baL,
                            0xf9eaff2517L,
                            "jetbrains.mps.lang.editor.structure.CellModel_Collection"));
          }
        }
        if (matches_o7mo2_a0a0) {
          return SNodeOperations.isInstanceOf(
              SLinkOperations.getTarget(
                  matchedNode_o7mo2_a0a,
                  MetaAdapterFactory.getContainmentLink(
                      0x18bc659203a64e29L,
                      0xa83a7ff23bde13baL,
                      0xf9eaff2517L,
                      0x10192e0d3baL,
                      "cellLayout")),
              MetaAdapterFactory.getConcept(
                  0x18bc659203a64e29L,
                  0xa83a7ff23bde13baL,
                  0x1a2fd43187388681L,
                  "jetbrains.mps.lang.editor.structure.CellLayout_Superscript"));
        } else {
          boolean matches_o7mo2_b0a0 = false;
          {
            SNode matchingNode_o7mo2_b0a0 = SNodeOperations.getParent(cellModel);
            if (matchingNode_o7mo2_b0a0 != null) {
              matches_o7mo2_b0a0 =
                  matchingNode_o7mo2_b0a0
                      .getConcept()
                      .isSubConceptOf(
                          MetaAdapterFactory.getConcept(
                              0x18bc659203a64e29L,
                              0xa83a7ff23bde13baL,
                              0x1098c8cf48aL,
                              "jetbrains.mps.lang.editor.structure.CellModel_ListWithRole"));
            }
          }
          if (matches_o7mo2_b0a0) {
            return SNodeOperations.isInstanceOf(
                SLinkOperations.getTarget(
                    matchedNode_o7mo2_a0a,
                    MetaAdapterFactory.getContainmentLink(
                        0x18bc659203a64e29L,
                        0xa83a7ff23bde13baL,
                        0x1098c8cf48aL,
                        0x1098c8e38e8L,
                        "cellLayout")),
                MetaAdapterFactory.getConcept(
                    0x18bc659203a64e29L,
                    0xa83a7ff23bde13baL,
                    0x1a2fd43187388681L,
                    "jetbrains.mps.lang.editor.structure.CellLayout_Superscript"));
          } else return false;
        }
      }
    }
  }

  /*package*/ ScriptKindClassItem__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((Boolean) isApplicableTo_idhEUcU7K(node, (SNode) parameters[0]));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class GenerationContextOp_NodePatternRef__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0xd7706f639be2479cL,
          0xa3daae92af1e64d5L,
          0x3fb2d847d55fc21eL,
          "jetbrains.mps.lang.generator.generationContext.structure.GenerationContextOp_NodePatternRef");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<SNode> getTarget_id1xCtdgeTQHC =
      new SMethodBuilder<SNode>(new SJavaCompoundTypeImpl((Class<SNode>) ((Class) Object.class)))
          .name("getTarget")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1xCtdgeTQHC")
          .registry(REGISTRY)
          .build();
  public static final SMethod<Void> setTarget_id1xCtdgeUoP5 =
      new SMethodBuilder<Void>(new SJavaCompoundTypeImpl(Void.class))
          .name("setTarget")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("1xCtdgeUoP5")
          .registry(REGISTRY)
          .build(SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(getTarget_id1xCtdgeTQHC, setTarget_id1xCtdgeUoP5);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static SNode getTarget_id1xCtdgeTQHC(@NotNull SNode __thisNode__) {
    return SLinkOperations.getTarget(
        __thisNode__,
        MetaAdapterFactory.getReferenceLink(
            0xd7706f639be2479cL,
            0xa3daae92af1e64d5L,
            0x3fb2d847d55fc21eL,
            0x3fb2d847d55fdcd5L,
            "patternVarDecl"));
  }
  /*package*/ static void setTarget_id1xCtdgeUoP5(@NotNull SNode __thisNode__, SNode target) {
    SLinkOperations.setTarget(
        __thisNode__,
        MetaAdapterFactory.getReferenceLink(
            0xd7706f639be2479cL,
            0xa3daae92af1e64d5L,
            0x3fb2d847d55fc21eL,
            0x3fb2d847d55fdcd5L,
            "patternVarDecl"),
        null);
  }

  /*package*/ GenerationContextOp_NodePatternRef__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T) ((SNode) getTarget_id1xCtdgeTQHC(node));
      case 1:
        setTarget_id1xCtdgeUoP5(node, (SNode) parameters[0]);
        return null;
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}
public final class TransformationMenuPart_Group__BehaviorDescriptor extends BaseBHDescriptor {
  private static final SAbstractConcept CONCEPT =
      MetaAdapterFactory.getConcept(
          0x18bc659203a64e29L,
          0xa83a7ff23bde13baL,
          0x671b36136d224047L,
          "jetbrains.mps.lang.editor.structure.TransformationMenuPart_Group");
  private static final BehaviorRegistry REGISTRY =
      ConceptRegistry.getInstance().getBehaviorRegistry();

  public static final SMethod<Scope> getScope_id3fifI_xCJOQ =
      new SMethodBuilder<Scope>(new SJavaCompoundTypeImpl(Scope.class))
          .name("getScope")
          .modifiers(SModifiersImpl.create(8, AccessPrivileges.PUBLIC))
          .concept(CONCEPT)
          .id("3fifI_xCJOQ")
          .registry(REGISTRY)
          .build(
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""),
              SMethodBuilder.createJavaParameter((Class<SNode>) ((Class) Object.class), ""));

  private static final List<SMethod<?>> BH_METHODS =
      Arrays.<SMethod<?>>asList(getScope_id3fifI_xCJOQ);

  private static void ___init___(@NotNull SNode __thisNode__) {}

  /*package*/ static Scope getScope_id3fifI_xCJOQ(
      @NotNull SNode __thisNode__, SNode kind, SNode child) {
    if (SConceptOperations.isSubConceptOf(
        SNodeOperations.asSConcept(kind),
        MetaAdapterFactory.getConcept(
            0x18bc659203a64e29L,
            0xa83a7ff23bde13baL,
            0x11266742db0L,
            "jetbrains.mps.lang.editor.structure.TransformationMenuVariableDeclaration"))) {
      // For simplicity this does not take into account the position of the child, so variables
      // declared earlier may
      // (incorrectly) reference variables declared later.
      return new HidingByNameScope(
          MetaAdapterFactory.getConcept(
              0x18bc659203a64e29L,
              0xa83a7ff23bde13baL,
              0x11266742db0L,
              "jetbrains.mps.lang.editor.structure.TransformationMenuVariableDeclaration"),
          SNodeOperations.asSConcept(kind),
          new NamedElementsScope(
              SLinkOperations.getChildren(
                  __thisNode__,
                  MetaAdapterFactory.getContainmentLink(
                      0x18bc659203a64e29L,
                      0xa83a7ff23bde13baL,
                      0x671b36136d224047L,
                      0x6a3d2fa8211d204dL,
                      "variables"))),
          ScopeUtils.lazyParentScope(__thisNode__, kind));
    }
    return ScopeProvider__BehaviorDescriptor.getScope_id3fifI_xCJOQ.invokeSpecial(
        __thisNode__, kind, child);
  }

  /*package*/ TransformationMenuPart_Group__BehaviorDescriptor() {
    super(REGISTRY);
  }

  @Override
  protected void initNode(
      @NotNull SNode node, @NotNull SConstructor constructor, @Nullable Object[] parameters) {
    ___init___(node);
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SNode node, @NotNull SMethod<T> method, @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      case 0:
        return (T)
            ((Scope) getScope_id3fifI_xCJOQ(node, (SNode) parameters[0], (SNode) parameters[1]));
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @Override
  protected <T> T invokeSpecial0(
      @NotNull SAbstractConcept concept,
      @NotNull SMethod<T> method,
      @Nullable Object[] parameters) {
    int methodIndex = BH_METHODS.indexOf(method);
    if (methodIndex < 0) {
      throw new BHMethodNotFoundException(this, method);
    }
    switch (methodIndex) {
      default:
        throw new BHMethodNotFoundException(this, method);
    }
  }

  @NotNull
  @Override
  public List<SMethod<?>> getDeclaredMethods() {
    return BH_METHODS;
  }

  @NotNull
  @Override
  public SAbstractConcept getConcept() {
    return CONCEPT;
  }
}