protected FragmentResult applyPart0()

in languages/languageDesign/generator/languages/descriptor/generator/source_gen/jetbrains/mps/lang/descriptor/generator/template/main/Template_GeneratorRuntime.java [46:1089]


  protected FragmentResult applyPart0(@NotNull final TemplateContext contextNoLabel) throws GenerationException {
    final TemplateExecutionEnvironment environment = contextNoLabel.getEnvironment();
    final TemplateContext context = contextNoLabel.subContext("generator.descriptor");
    final SNode tnode1 = environment.createOutputNode(myConcepts[0]);
    {
      tnode1.setProperty(myProperties[0], "Generator");
      TemplateContext context1 = context.subContext();
      {
        final SNode tnode2 = environment.createOutputNode(myConcepts[1]);
        environment.associate(tnode2, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase");
        environment.aggregate(tnode1, myAggregationLinks[0], tnode2);
      }
      {
        final SNode tnode3 = environment.createOutputNode(myConcepts[2]);
        environment.aggregate(tnode1, myAggregationLinks[1], tnode3);
      }
      {
        Collection<SNode> tlist4 = Collections.emptyList();
        if (QueriesGenerated.ifMacro_Condition_6_0(new IfMacroContext(context1, ifMacroRef))) {
          final SNode tnode5 = environment.createOutputNode(myConcepts[3]);
          {
            environment.nodeCopied(context1, tnode5, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706513");
            tnode5.setProperty(myProperties[0], "priorities");
            tnode5.setProperty(myProperties[1], "true");
            TemplateContext context2 = context1.subContext();
            {
              final SNode tnode6 = environment.createOutputNode(myConcepts[4]);
              environment.aggregate(tnode5, myAggregationLinks[1], tnode6);
            }
            {
              final SNode tnode7 = environment.createOutputNode(myConcepts[1]);
              {
                environment.associate(tnode7, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection");
                TemplateContext context3 = context2.subContext();
                {
                  final SNode tnode8 = environment.createOutputNode(myConcepts[1]);
                  environment.associate(tnode8, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.generator.runtime(MPS.Core/)", "~TemplateMappingPriorityRule");
                  environment.aggregate(tnode7, myAggregationLinks[2], tnode8);
                }
              }
              environment.aggregate(tnode5, myAggregationLinks[3], tnode7);
            }
          }
          tlist4 = TemplateUtil.singletonList(tnode5);
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tlist4);
      }
      {
        final SNode tnode9 = environment.createOutputNode(myConcepts[3]);
        {
          environment.nodeCopied(context1, tnode9, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706539");
          tnode9.setProperty(myProperties[0], "models");
          tnode9.setProperty(myProperties[1], "true");
          TemplateContext context4 = context1.subContext();
          {
            final SNode tnode10 = environment.createOutputNode(myConcepts[4]);
            environment.aggregate(tnode9, myAggregationLinks[1], tnode10);
          }
          {
            final SNode tnode11 = environment.createOutputNode(myConcepts[1]);
            {
              environment.associate(tnode11, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.concurrent.atomic(JDK/)", "~AtomicReference");
              TemplateContext context5 = context4.subContext();
              {
                final SNode tnode12 = environment.createOutputNode(myConcepts[5]);
                {
                  TemplateContext context6 = context5.subContext();
                  {
                    final SNode tnode13 = environment.createOutputNode(myConcepts[1]);
                    environment.associate(tnode13, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModel");
                    environment.aggregate(tnode12, myAggregationLinks[5], tnode13);
                  }
                }
                environment.aggregate(tnode11, myAggregationLinks[2], tnode12);
              }
            }
            environment.aggregate(tnode9, myAggregationLinks[3], tnode11);
          }
          {
            final SNode tnode14 = environment.createOutputNode(myConcepts[6]);
            {
              TemplateContext context7 = context4.subContext();
              {
                final SNode tnode15 = environment.createOutputNode(myConcepts[7]);
                tnode15.setProperty(myProperties[2], "true");
                environment.associate(tnode15, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.concurrent.atomic(JDK/)", "~AtomicReference.<init>()");
                environment.aggregate(tnode14, myAggregationLinks[6], tnode15);
              }
            }
            environment.aggregate(tnode9, myAggregationLinks[7], tnode14);
          }
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tnode9);
      }
      {
        final SNode tnode16 = environment.createOutputNode(myConcepts[8]);
        environment.aggregate(tnode1, myAggregationLinks[4], tnode16);
      }
      {
        final SNode tnode17 = environment.createOutputNode(myConcepts[9]);
        {
          TemplateContext context8 = context1.subContext();
          {
            final SNode tnode18 = environment.createOutputNode(myConcepts[10]);
            environment.aggregate(tnode17, myAggregationLinks[8], tnode18);
          }
          {
            final SNode tnode19 = environment.createOutputNode(myConcepts[2]);
            environment.aggregate(tnode17, myAggregationLinks[1], tnode19);
          }
          {
            final SNode tnode20 = environment.createOutputNode(myConcepts[11]);
            {
              TemplateContext context9 = context8.subContext();
              {
                final SNode tnode21 = environment.createOutputNode(myConcepts[12]);
                {
                  environment.associate(tnode21, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase.<init>(jetbrains.mps.smodel.language.LanguageRegistry,jetbrains.mps.smodel.language.LanguageRuntime)");
                  TemplateContext context10 = context9.subContext();
                  {
                    final SNode tnode22 = environment.createOutputNode(myConcepts[13]);
                    environment.resolveInTemplateLater(tnode22, myAssociationLinks[2], templateNode, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3039597986479869868", "languageRegistry", context10);
                    environment.aggregate(tnode21, myAggregationLinks[9], tnode22);
                  }
                  {
                    final SNode tnode23 = environment.createOutputNode(myConcepts[13]);
                    environment.resolveInTemplateLater(tnode23, myAssociationLinks[2], templateNode1, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706658", "sourceLanguage", context10);
                    environment.aggregate(tnode21, myAggregationLinks[9], tnode23);
                  }
                }
                environment.aggregate(tnode20, myAggregationLinks[10], tnode21);
              }
              {
                Collection<SNode> tlist24 = Collections.emptyList();
                if (QueriesGenerated.ifMacro_Condition_6_1(new IfMacroContext(context9, ifMacroRef1))) {
                  final SNode tnode25 = environment.createOutputNode(myConcepts[14]);
                  {
                    TemplateContext context11 = context9.subContext();
                    {
                      final SNode tnode26 = environment.createOutputNode(myConcepts[15]);
                      {
                        TemplateContext context12 = context11.subContext();
                        {
                          final SNode tnode27 = environment.createOutputNode(myConcepts[13]);
                          environment.resolveInTemplateLater(tnode27, myAssociationLinks[2], templateNode2, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706513", "priorities", context12);
                          environment.aggregate(tnode26, myAggregationLinks[11], tnode27);
                        }
                        {
                          final SNode tnode28 = environment.createOutputNode(myConcepts[16]);
                          {
                            environment.associate(tnode28, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateUtil.asCollection(java.lang.Object...)");
                            environment.associate(tnode28, myAssociationLinks[3], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateUtil");
                            TemplateContext context13 = context12.subContext();
                            {
                              Collection<SNode> tlist29 = null;
                              final Iterable<SNode> copyListInput29 = QueriesGenerated.sourceNodesQuery_6_0(new SourceSubstituteMacroNodesContext(context13, copySrcListMacro));
                              tlist29 = environment.copyNodes(copyListInput29, copySrcListMacro, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706567", context13);
                              environment.aggregate(tnode28, myAggregationLinks[9], tlist29);
                            }
                          }
                          environment.aggregate(tnode26, myAggregationLinks[12], tnode28);
                        }
                      }
                      environment.aggregate(tnode25, myAggregationLinks[13], tnode26);
                    }
                  }
                  tlist24 = TemplateUtil.singletonList(tnode25);
                }
                environment.aggregate(tnode20, myAggregationLinks[10], tlist24);
              }
            }
            environment.aggregate(tnode17, myAggregationLinks[14], tnode20);
          }
          {
            final SNode tnode30 = environment.createOutputNode(myConcepts[17]);
            {
              environment.nodeCopied(context8, tnode30, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3039597986479869868");
              tnode30.setProperty(myProperties[0], "languageRegistry");
              TemplateContext context14 = context8.subContext();
              {
                final SNode tnode31 = environment.createOutputNode(myConcepts[1]);
                environment.associate(tnode31, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)", "~LanguageRegistry");
                environment.aggregate(tnode30, myAggregationLinks[3], tnode31);
              }
            }
            environment.aggregate(tnode17, myAggregationLinks[15], tnode30);
          }
          {
            final SNode tnode32 = environment.createOutputNode(myConcepts[17]);
            {
              environment.nodeCopied(context8, tnode32, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706658");
              tnode32.setProperty(myProperties[0], "sourceLanguage");
              TemplateContext context15 = context8.subContext();
              {
                final SNode tnode33 = environment.createOutputNode(myConcepts[1]);
                environment.associate(tnode33, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)", "~LanguageRuntime");
                environment.aggregate(tnode32, myAggregationLinks[3], tnode33);
              }
            }
            environment.aggregate(tnode17, myAggregationLinks[15], tnode32);
          }
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tnode17);
      }
      {
        final SNode tnode34 = environment.createOutputNode(myConcepts[18]);
        {
          tnode34.setProperty(myProperties[3], "false");
          tnode34.setProperty(myProperties[0], "getAlias");
          tnode34.setProperty(myProperties[4], "false");
          TemplateContext context16 = context1.subContext();
          {
            final SNode tnode35 = environment.createOutputNode(myConcepts[2]);
            environment.aggregate(tnode34, myAggregationLinks[1], tnode35);
          }
          {
            final SNode tnode36 = environment.createOutputNode(myConcepts[19]);
            environment.aggregate(tnode34, myAggregationLinks[8], tnode36);
          }
          {
            final SNode tnode37 = environment.createOutputNode(myConcepts[11]);
            {
              TemplateContext context17 = context16.subContext();
              {
                final SNode tnode38 = environment.createOutputNode(myConcepts[14]);
                {
                  TemplateContext context18 = context17.subContext();
                  {
                    final SNode tnode39 = environment.createOutputNode(myConcepts[20]);
                    SNodeAccessUtil.setPropertyValue(tnode39, myProperties[5], QueriesGenerated.propertyMacro_GetValue_6_0(new PropertyMacroContext(context18, "", propertyMacro)));
                    environment.aggregate(tnode38, myAggregationLinks[13], tnode39);
                  }
                }
                environment.aggregate(tnode37, myAggregationLinks[10], tnode38);
              }
            }
            environment.aggregate(tnode34, myAggregationLinks[14], tnode37);
          }
          {
            final SNode tnode40 = environment.createOutputNode(myConcepts[21]);
            environment.associate(tnode40, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode34, myAggregationLinks[16], tnode40);
          }
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tnode34);
      }
      {
        final SNode tnode41 = environment.createOutputNode(myConcepts[8]);
        environment.aggregate(tnode1, myAggregationLinks[4], tnode41);
      }
      {
        final SNode tnode42 = environment.createOutputNode(myConcepts[18]);
        {
          tnode42.setProperty(myProperties[3], "false");
          tnode42.setProperty(myProperties[0], "getModels");
          tnode42.setProperty(myProperties[4], "false");
          TemplateContext context19 = context1.subContext();
          {
            final SNode tnode43 = environment.createOutputNode(myConcepts[2]);
            environment.aggregate(tnode42, myAggregationLinks[1], tnode43);
          }
          {
            final SNode tnode44 = environment.createOutputNode(myConcepts[1]);
            {
              environment.associate(tnode44, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection");
              TemplateContext context20 = context19.subContext();
              {
                final SNode tnode45 = environment.createOutputNode(myConcepts[1]);
                environment.associate(tnode45, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModel");
                environment.aggregate(tnode44, myAggregationLinks[2], tnode45);
              }
            }
            environment.aggregate(tnode42, myAggregationLinks[8], tnode44);
          }
          {
            final SNode tnode46 = environment.createOutputNode(myConcepts[11]);
            {
              TemplateContext context21 = context19.subContext();
              {
                final SNode tnode47 = environment.createOutputNode(myConcepts[22]);
                {
                  TemplateContext context22 = context21.subContext();
                  {
                    final SNode tnode48 = environment.createOutputNode(myConcepts[23]);
                    {
                      environment.nodeCopied(context22, tnode48, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162");
                      tnode48.setProperty(myProperties[0], "rv");
                      TemplateContext context23 = context22.subContext();
                      {
                        final SNode tnode49 = environment.createOutputNode(myConcepts[5]);
                        {
                          TemplateContext context24 = context23.subContext();
                          {
                            final SNode tnode50 = environment.createOutputNode(myConcepts[1]);
                            environment.associate(tnode50, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModel");
                            environment.aggregate(tnode49, myAggregationLinks[5], tnode50);
                          }
                        }
                        environment.aggregate(tnode48, myAggregationLinks[3], tnode49);
                      }
                      {
                        final SNode tnode51 = environment.createOutputNode(myConcepts[24]);
                        {
                          TemplateContext context25 = context23.subContext();
                          {
                            final SNode tnode52 = environment.createOutputNode(myConcepts[13]);
                            environment.resolveInTemplateLater(tnode52, myAssociationLinks[2], templateNode3, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706539", "models", context25);
                            environment.aggregate(tnode51, myAggregationLinks[17], tnode52);
                          }
                          {
                            final SNode tnode53 = environment.createOutputNode(myConcepts[25]);
                            environment.associate(tnode53, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.concurrent.atomic(JDK/)", "~AtomicReference.get()");
                            environment.aggregate(tnode51, myAggregationLinks[18], tnode53);
                          }
                        }
                        environment.aggregate(tnode48, myAggregationLinks[7], tnode51);
                      }
                    }
                    environment.aggregate(tnode47, myAggregationLinks[19], tnode48);
                  }
                }
                environment.aggregate(tnode46, myAggregationLinks[10], tnode47);
              }
              {
                Collection<SNode> tlist54 = null;
                TemplateContext context26 = context21;
                context26 = context26.withVariable("var:templateModelNames", QueriesGenerated.varMacro_Value_6_0(new TemplateVarContext(context26, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "3787888881844310011"))));
                final SNode tnode55 = environment.createOutputNode(myConcepts[26]);
                {
                  TemplateContext context27 = context26.subContext();
                  {
                    final SNode tnode56 = environment.createOutputNode(myConcepts[11]);
                    {
                      TemplateContext context28 = context27.subContext();
                      {
                        final SNode tnode57 = environment.createOutputNode(myConcepts[14]);
                        {
                          TemplateContext context29 = context28.subContext();
                          {
                            final SNode tnode58 = environment.createOutputNode(myConcepts[15]);
                            {
                              TemplateContext context30 = context29.subContext();
                              {
                                final SNode tnode59 = environment.createOutputNode(myConcepts[6]);
                                {
                                  TemplateContext context31 = context30.subContext();
                                  {
                                    final SNode tnode60 = environment.createOutputNode(myConcepts[27]);
                                    {
                                      TemplateContext context32 = context31.subContext();
                                      {
                                        final SNode tnode61 = environment.createOutputNode(myConcepts[28]);
                                        {
                                          TemplateContext context33 = context32.subContext();
                                          {
                                            final SNode tnode62 = environment.createOutputNode(myConcepts[29]);
                                            SNodeAccessUtil.setPropertyValue(tnode62, myProperties[6], QueriesGenerated.propertyMacro_GetValue_6_1(new PropertyMacroContext(context33, "0", propertyMacro1)));
                                            environment.aggregate(tnode61, myAggregationLinks[20], tnode62);
                                          }
                                        }
                                        environment.aggregate(tnode60, myAggregationLinks[21], tnode61);
                                      }
                                      {
                                        final SNode tnode63 = environment.createOutputNode(myConcepts[1]);
                                        environment.associate(tnode63, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModel");
                                        environment.aggregate(tnode60, myAggregationLinks[22], tnode63);
                                      }
                                    }
                                    environment.aggregate(tnode59, myAggregationLinks[6], tnode60);
                                  }
                                }
                                environment.aggregate(tnode58, myAggregationLinks[12], tnode59);
                              }
                              {
                                final SNode tnode64 = environment.createOutputNode(myConcepts[13]);
                                environment.resolveInTemplateLater(tnode64, myAssociationLinks[2], templateNode4, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162", "rv", context30);
                                environment.aggregate(tnode58, myAggregationLinks[11], tnode64);
                              }
                            }
                            environment.aggregate(tnode57, myAggregationLinks[13], tnode58);
                          }
                        }
                        environment.aggregate(tnode56, myAggregationLinks[10], tnode57);
                      }
                      {
                        final List<SNode> tlist65 = new ArrayList<SNode>();
                        final Iterable<SNode> loopList65 = QueriesGenerated.sourceNodesQuery_6_1(new SourceSubstituteMacroNodesContext(context28, loopMacroRef));
                        int loopIndex_65 = 0;
                        for (SNode itnode65 : loopList65) {
                          if (itnode65 == null) {
                            continue;
                          }
                          TemplateContext context34 = context28.subContext(itnode65);
                          context34 = context34.withVariable("loop:index", loopIndex_65);
                          loopIndex_65++;
                          final SNode tnode66 = environment.createOutputNode(myConcepts[14]);
                          {
                            TemplateContext context35 = context34.subContext();
                            {
                              final SNode tnode67 = environment.createOutputNode(myConcepts[15]);
                              {
                                TemplateContext context36 = context35.subContext();
                                {
                                  final SNode tnode68 = environment.createOutputNode(myConcepts[30]);
                                  {
                                    SNodeAccessUtil.setPropertyValue(tnode68, myProperties[7], QueriesGenerated.propertyMacro_GetValue_6_2(new PropertyMacroContext(context36, "model.TemplateModelImpl", propertyMacro2)));
                                    TemplateContext context37 = context36.subContext();
                                    {
                                      final SNode tnode69 = environment.createOutputNode(myConcepts[31]);
                                      environment.aggregate(tnode68, myAggregationLinks[23], tnode69);
                                    }
                                    {
                                      final SNode tnode70 = environment.createOutputNode(myConcepts[1]);
                                      environment.associate(tnode70, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModel");
                                      environment.aggregate(tnode68, myAggregationLinks[24], tnode70);
                                    }
                                  }
                                  environment.aggregate(tnode67, myAggregationLinks[12], tnode68);
                                }
                                {
                                  final SNode tnode71 = environment.createOutputNode(myConcepts[32]);
                                  {
                                    TemplateContext context38 = context36.subContext();
                                    {
                                      final SNode tnode72 = environment.createOutputNode(myConcepts[29]);
                                      SNodeAccessUtil.setPropertyValue(tnode72, myProperties[6], QueriesGenerated.propertyMacro_GetValue_6_3(new PropertyMacroContext(context38, "0", propertyMacro3)));
                                      environment.aggregate(tnode71, myAggregationLinks[25], tnode72);
                                    }
                                    {
                                      final SNode tnode73 = environment.createOutputNode(myConcepts[13]);
                                      environment.resolveInTemplateLater(tnode73, myAssociationLinks[2], templateNode5, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162", "rv", context38);
                                      environment.aggregate(tnode71, myAggregationLinks[26], tnode73);
                                    }
                                  }
                                  environment.aggregate(tnode67, myAggregationLinks[11], tnode71);
                                }
                              }
                              environment.aggregate(tnode66, myAggregationLinks[13], tnode67);
                            }
                          }
                          tlist65.add(tnode66);
                        }
                        environment.aggregate(tnode56, myAggregationLinks[10], tlist65);
                      }
                      {
                        final SNode tnode74 = environment.createOutputNode(myConcepts[33]);
                        {
                          TemplateContext context39 = context28.subContext();
                          {
                            final SNode tnode75 = environment.createOutputNode(myConcepts[11]);
                            {
                              TemplateContext context40 = context39.subContext();
                              {
                                final SNode tnode76 = environment.createOutputNode(myConcepts[14]);
                                {
                                  TemplateContext context41 = context40.subContext();
                                  {
                                    final SNode tnode77 = environment.createOutputNode(myConcepts[15]);
                                    {
                                      TemplateContext context42 = context41.subContext();
                                      {
                                        final SNode tnode78 = environment.createOutputNode(myConcepts[24]);
                                        {
                                          TemplateContext context43 = context42.subContext();
                                          {
                                            final SNode tnode79 = environment.createOutputNode(myConcepts[13]);
                                            environment.resolveInTemplateLater(tnode79, myAssociationLinks[2], templateNode6, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706539", "models", context43);
                                            environment.aggregate(tnode78, myAggregationLinks[17], tnode79);
                                          }
                                          {
                                            final SNode tnode80 = environment.createOutputNode(myConcepts[25]);
                                            environment.associate(tnode80, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.concurrent.atomic(JDK/)", "~AtomicReference.get()");
                                            environment.aggregate(tnode78, myAggregationLinks[18], tnode80);
                                          }
                                        }
                                        environment.aggregate(tnode77, myAggregationLinks[12], tnode78);
                                      }
                                      {
                                        final SNode tnode81 = environment.createOutputNode(myConcepts[13]);
                                        environment.resolveInTemplateLater(tnode81, myAssociationLinks[2], templateNode7, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162", "rv", context42);
                                        environment.aggregate(tnode77, myAggregationLinks[11], tnode81);
                                      }
                                    }
                                    environment.aggregate(tnode76, myAggregationLinks[13], tnode77);
                                  }
                                }
                                environment.aggregate(tnode75, myAggregationLinks[10], tnode76);
                              }
                            }
                            environment.aggregate(tnode74, myAggregationLinks[27], tnode75);
                          }
                          {
                            final SNode tnode82 = environment.createOutputNode(myConcepts[34]);
                            {
                              TemplateContext context44 = context39.subContext();
                              {
                                final SNode tnode83 = environment.createOutputNode(myConcepts[24]);
                                {
                                  TemplateContext context45 = context44.subContext();
                                  {
                                    final SNode tnode84 = environment.createOutputNode(myConcepts[13]);
                                    environment.resolveInTemplateLater(tnode84, myAssociationLinks[2], templateNode8, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706539", "models", context45);
                                    environment.aggregate(tnode83, myAggregationLinks[17], tnode84);
                                  }
                                  {
                                    final SNode tnode85 = environment.createOutputNode(myConcepts[25]);
                                    {
                                      environment.associate(tnode85, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util.concurrent.atomic(JDK/)", "~AtomicReference.compareAndSet(java.lang.Object,java.lang.Object)");
                                      TemplateContext context46 = context45.subContext();
                                      {
                                        final SNode tnode86 = environment.createOutputNode(myConcepts[35]);
                                        environment.aggregate(tnode85, myAggregationLinks[9], tnode86);
                                      }
                                      {
                                        final SNode tnode87 = environment.createOutputNode(myConcepts[13]);
                                        environment.resolveInTemplateLater(tnode87, myAssociationLinks[2], templateNode9, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162", "rv", context46);
                                        environment.aggregate(tnode85, myAggregationLinks[9], tnode87);
                                      }
                                    }
                                    environment.aggregate(tnode83, myAggregationLinks[18], tnode85);
                                  }
                                }
                                environment.aggregate(tnode82, myAggregationLinks[28], tnode83);
                              }
                            }
                            environment.aggregate(tnode74, myAggregationLinks[29], tnode82);
                          }
                        }
                        environment.aggregate(tnode56, myAggregationLinks[10], tnode74);
                      }
                    }
                    environment.aggregate(tnode55, myAggregationLinks[30], tnode56);
                  }
                  {
                    final SNode tnode88 = environment.createOutputNode(myConcepts[36]);
                    {
                      TemplateContext context47 = context27.subContext();
                      {
                        final SNode tnode89 = environment.createOutputNode(myConcepts[35]);
                        environment.aggregate(tnode88, myAggregationLinks[31], tnode89);
                      }
                      {
                        final SNode tnode90 = environment.createOutputNode(myConcepts[13]);
                        environment.resolveInTemplateLater(tnode90, myAssociationLinks[2], templateNode10, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162", "rv", context47);
                        environment.aggregate(tnode88, myAggregationLinks[32], tnode90);
                      }
                    }
                    environment.aggregate(tnode55, myAggregationLinks[33], tnode88);
                  }
                }
                tlist54 = TemplateUtil.singletonList(tnode55);
                environment.aggregate(tnode46, myAggregationLinks[10], tlist54);
              }
              {
                final SNode tnode91 = environment.createOutputNode(myConcepts[37]);
                {
                  TemplateContext context48 = context21.subContext();
                  {
                    final SNode tnode92 = environment.createOutputNode(myConcepts[16]);
                    {
                      environment.associate(tnode92, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Arrays.asList(java.lang.Object...)");
                      environment.associate(tnode92, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Arrays");
                      TemplateContext context49 = context48.subContext();
                      {
                        final SNode tnode93 = environment.createOutputNode(myConcepts[13]);
                        environment.resolveInTemplateLater(tnode93, myAssociationLinks[2], templateNode11, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/3787888881843972162", "rv", context49);
                        environment.aggregate(tnode92, myAggregationLinks[9], tnode93);
                      }
                    }
                    environment.aggregate(tnode91, myAggregationLinks[34], tnode92);
                  }
                }
                environment.aggregate(tnode46, myAggregationLinks[10], tnode91);
              }
            }
            environment.aggregate(tnode42, myAggregationLinks[14], tnode46);
          }
          {
            final SNode tnode94 = environment.createOutputNode(myConcepts[21]);
            environment.associate(tnode94, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode42, myAggregationLinks[16], tnode94);
          }
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tnode42);
      }
      {
        final SNode tnode95 = environment.createOutputNode(myConcepts[8]);
        environment.aggregate(tnode1, myAggregationLinks[4], tnode95);
      }
      {
        Collection<SNode> tlist96 = Collections.emptyList();
        if (QueriesGenerated.ifMacro_Condition_6_2(new IfMacroContext(context1, ifMacroRef2))) {
          final SNode tnode97 = environment.createOutputNode(myConcepts[18]);
          {
            tnode97.setProperty(myProperties[3], "false");
            tnode97.setProperty(myProperties[0], "getPriorities");
            tnode97.setProperty(myProperties[4], "false");
            TemplateContext context50 = context1.subContext();
            {
              final SNode tnode98 = environment.createOutputNode(myConcepts[2]);
              environment.aggregate(tnode97, myAggregationLinks[1], tnode98);
            }
            {
              final SNode tnode99 = environment.createOutputNode(myConcepts[1]);
              {
                environment.associate(tnode99, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection");
                TemplateContext context51 = context50.subContext();
                {
                  final SNode tnode100 = environment.createOutputNode(myConcepts[1]);
                  environment.associate(tnode100, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.generator.runtime(MPS.Core/)", "~TemplateMappingPriorityRule");
                  environment.aggregate(tnode99, myAggregationLinks[2], tnode100);
                }
              }
              environment.aggregate(tnode97, myAggregationLinks[8], tnode99);
            }
            {
              final SNode tnode101 = environment.createOutputNode(myConcepts[11]);
              {
                TemplateContext context52 = context50.subContext();
                {
                  final SNode tnode102 = environment.createOutputNode(myConcepts[37]);
                  {
                    TemplateContext context53 = context52.subContext();
                    {
                      final SNode tnode103 = environment.createOutputNode(myConcepts[13]);
                      environment.resolveInTemplateLater(tnode103, myAssociationLinks[2], templateNode12, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706513", "priorities", context53);
                      environment.aggregate(tnode102, myAggregationLinks[34], tnode103);
                    }
                  }
                  environment.aggregate(tnode101, myAggregationLinks[10], tnode102);
                }
              }
              environment.aggregate(tnode97, myAggregationLinks[14], tnode101);
            }
            {
              final SNode tnode104 = environment.createOutputNode(myConcepts[21]);
              environment.associate(tnode104, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
              environment.aggregate(tnode97, myAggregationLinks[16], tnode104);
            }
          }
          tlist96 = TemplateUtil.singletonList(tnode97);
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tlist96);
      }
      {
        final SNode tnode105 = environment.createOutputNode(myConcepts[8]);
        environment.aggregate(tnode1, myAggregationLinks[4], tnode105);
      }
      {
        final SNode tnode106 = environment.createOutputNode(myConcepts[18]);
        {
          tnode106.setProperty(myProperties[3], "false");
          tnode106.setProperty(myProperties[0], "getModuleReference");
          tnode106.setProperty(myProperties[4], "false");
          tnode106.setProperty(myProperties[8], "false");
          TemplateContext context54 = context1.subContext();
          {
            final SNode tnode107 = environment.createOutputNode(myConcepts[2]);
            environment.aggregate(tnode106, myAggregationLinks[1], tnode107);
          }
          {
            final SNode tnode108 = environment.createOutputNode(myConcepts[21]);
            environment.associate(tnode108, myAssociationLinks[4], "3f233e7f-b8a6-46d2-a57f-795d56775243/java:org.jetbrains.annotations(Annotations/)", "~NotNull");
            environment.aggregate(tnode106, myAggregationLinks[16], tnode108);
          }
          {
            final SNode tnode109 = environment.createOutputNode(myConcepts[1]);
            environment.associate(tnode109, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.module(MPS.OpenAPI/)", "~SModuleReference");
            environment.aggregate(tnode106, myAggregationLinks[8], tnode109);
          }
          {
            final SNode tnode110 = environment.createOutputNode(myConcepts[11]);
            {
              TemplateContext context55 = context54.subContext();
              {
                final SNode tnode111 = environment.createOutputNode(myConcepts[37]);
                {
                  TemplateContext context56 = context55.subContext();
                  {
                    final SNode tnode112 = environment.createOutputNode(myConcepts[24]);
                    {
                      TemplateContext context57 = context56.subContext();
                      {
                        final SNode tnode113 = environment.createOutputNode(myConcepts[16]);
                        environment.associate(tnode113, myAssociationLinks[1], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.persistence(MPS.OpenAPI/)", "~PersistenceFacade.getInstance()");
                        environment.associate(tnode113, myAssociationLinks[3], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.persistence(MPS.OpenAPI/)", "~PersistenceFacade");
                        environment.aggregate(tnode112, myAggregationLinks[17], tnode113);
                      }
                      {
                        final SNode tnode114 = environment.createOutputNode(myConcepts[25]);
                        {
                          environment.associate(tnode114, myAssociationLinks[1], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.persistence(MPS.OpenAPI/)", "~PersistenceFacade.createModuleReference(java.lang.String)");
                          TemplateContext context58 = context57.subContext();
                          {
                            final SNode tnode115 = environment.createOutputNode(myConcepts[20]);
                            SNodeAccessUtil.setPropertyValue(tnode115, myProperties[5], QueriesGenerated.propertyMacro_GetValue_6_4(new PropertyMacroContext(context58, "module.reference", propertyMacro4)));
                            environment.aggregate(tnode114, myAggregationLinks[9], tnode115);
                          }
                        }
                        environment.aggregate(tnode112, myAggregationLinks[18], tnode114);
                      }
                    }
                    environment.aggregate(tnode111, myAggregationLinks[34], tnode112);
                  }
                }
                environment.aggregate(tnode110, myAggregationLinks[10], tnode111);
              }
            }
            environment.aggregate(tnode106, myAggregationLinks[14], tnode110);
          }
          {
            final SNode tnode116 = environment.createOutputNode(myConcepts[21]);
            environment.associate(tnode116, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode106, myAggregationLinks[16], tnode116);
          }
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tnode106);
      }
      {
        final SNode tnode117 = environment.createOutputNode(myConcepts[8]);
        environment.aggregate(tnode1, myAggregationLinks[4], tnode117);
      }
      {
        Collection<SNode> tlist118 = null;
        TemplateContext context59 = context1;
        context59 = context59.withVariable("var:targetLanguages", QueriesGenerated.varMacro_Value_6_1(new TemplateVarContext(context59, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "2409421742521900532"))));
        final SNode tnode119 = environment.createOutputNode(myConcepts[18]);
        {
          tnode119.setProperty(myProperties[3], "false");
          tnode119.setProperty(myProperties[0], "getTargetLanguages");
          tnode119.setProperty(myProperties[4], "false");
          tnode119.setProperty(myProperties[8], "false");
          TemplateContext context60 = context59.subContext();
          {
            final SNode tnode120 = environment.createOutputNode(myConcepts[2]);
            environment.aggregate(tnode119, myAggregationLinks[1], tnode120);
          }
          {
            final SNode tnode121 = environment.createOutputNode(myConcepts[1]);
            {
              environment.associate(tnode121, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection");
              TemplateContext context61 = context60.subContext();
              {
                final SNode tnode122 = environment.createOutputNode(myConcepts[1]);
                environment.associate(tnode122, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                environment.aggregate(tnode121, myAggregationLinks[2], tnode122);
              }
            }
            environment.aggregate(tnode119, myAggregationLinks[8], tnode121);
          }
          {
            final SNode tnode123 = environment.createOutputNode(myConcepts[11]);
            {
              TemplateContext context62 = context60.subContext();
              {
                final SNode tnode124 = environment.createOutputNode(myConcepts[22]);
                {
                  TemplateContext context63 = context62.subContext();
                  {
                    final SNode tnode125 = environment.createOutputNode(myConcepts[23]);
                    {
                      environment.nodeCopied(context63, tnode125, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706821");
                      tnode125.setProperty(myProperties[0], "rv");
                      TemplateContext context64 = context63.subContext();
                      {
                        final SNode tnode126 = environment.createOutputNode(myConcepts[5]);
                        {
                          TemplateContext context65 = context64.subContext();
                          {
                            final SNode tnode127 = environment.createOutputNode(myConcepts[1]);
                            environment.associate(tnode127, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                            environment.aggregate(tnode126, myAggregationLinks[5], tnode127);
                          }
                        }
                        environment.aggregate(tnode125, myAggregationLinks[3], tnode126);
                      }
                      {
                        final SNode tnode128 = environment.createOutputNode(myConcepts[6]);
                        {
                          TemplateContext context66 = context64.subContext();
                          {
                            final SNode tnode129 = environment.createOutputNode(myConcepts[27]);
                            {
                              TemplateContext context67 = context66.subContext();
                              {
                                final SNode tnode130 = environment.createOutputNode(myConcepts[28]);
                                {
                                  TemplateContext context68 = context67.subContext();
                                  {
                                    final SNode tnode131 = environment.createOutputNode(myConcepts[29]);
                                    SNodeAccessUtil.setPropertyValue(tnode131, myProperties[6], QueriesGenerated.propertyMacro_GetValue_6_5(new PropertyMacroContext(context68, "0", propertyMacro5)));
                                    environment.aggregate(tnode130, myAggregationLinks[20], tnode131);
                                  }
                                }
                                environment.aggregate(tnode129, myAggregationLinks[21], tnode130);
                              }
                              {
                                final SNode tnode132 = environment.createOutputNode(myConcepts[1]);
                                environment.associate(tnode132, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                                environment.aggregate(tnode129, myAggregationLinks[22], tnode132);
                              }
                            }
                            environment.aggregate(tnode128, myAggregationLinks[6], tnode129);
                          }
                        }
                        environment.aggregate(tnode125, myAggregationLinks[7], tnode128);
                      }
                    }
                    environment.aggregate(tnode124, myAggregationLinks[19], tnode125);
                  }
                }
                environment.aggregate(tnode123, myAggregationLinks[10], tnode124);
              }
              {
                final List<SNode> tlist133 = new ArrayList<SNode>();
                final Iterable<SNode> loopList133 = QueriesGenerated.sourceNodesQuery_6_2(new SourceSubstituteMacroNodesContext(context62, loopMacroRef1));
                int loopIndex_133 = 0;
                for (SNode itnode133 : loopList133) {
                  if (itnode133 == null) {
                    continue;
                  }
                  TemplateContext context69 = context62.subContext(itnode133);
                  context69 = context69.withVariable("loop:index", loopIndex_133);
                  loopIndex_133++;
                  final SNode tnode134 = environment.createOutputNode(myConcepts[14]);
                  {
                    TemplateContext context70 = context69.subContext();
                    {
                      final SNode tnode135 = environment.createOutputNode(myConcepts[15]);
                      {
                        TemplateContext context71 = context70.subContext();
                        {
                          final SNode tnode136 = environment.createOutputNode(myConcepts[32]);
                          {
                            TemplateContext context72 = context71.subContext();
                            {
                              final SNode tnode137 = environment.createOutputNode(myConcepts[29]);
                              SNodeAccessUtil.setPropertyValue(tnode137, myProperties[6], QueriesGenerated.propertyMacro_GetValue_6_6(new PropertyMacroContext(context72, "0", propertyMacro6)));
                              environment.aggregate(tnode136, myAggregationLinks[25], tnode137);
                            }
                            {
                              final SNode tnode138 = environment.createOutputNode(myConcepts[13]);
                              environment.resolveInTemplateLater(tnode138, myAssociationLinks[2], templateNode13, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706821", "rv", context72);
                              environment.aggregate(tnode136, myAggregationLinks[26], tnode138);
                            }
                          }
                          environment.aggregate(tnode135, myAggregationLinks[11], tnode136);
                        }
                        {
                          final SNode tnode139 = environment.createOutputNode(myConcepts[38]);
                          {
                            TemplateContext context73 = context71.subContext();
                            {
                              Collection<SNode> tlist140 = Collections.emptyList();
                              final SNode insertInput140 = QueriesGenerated.insertMacro_Query_6_0(new InsertMacroContext(context73, insertMacro));
                              if (insertInput140 != null) {
                                tlist140 = Collections.singletonList(environment.insertNode(insertInput140, insertMacro, context73));
                              }
                              environment.aggregate(tnode139, myAggregationLinks[35], tlist140);
                            }
                          }
                          environment.aggregate(tnode135, myAggregationLinks[12], tnode139);
                        }
                      }
                      environment.aggregate(tnode134, myAggregationLinks[13], tnode135);
                    }
                  }
                  tlist133.add(tnode134);
                }
                environment.aggregate(tnode123, myAggregationLinks[10], tlist133);
              }
              {
                final SNode tnode141 = environment.createOutputNode(myConcepts[37]);
                {
                  TemplateContext context74 = context62.subContext();
                  {
                    final SNode tnode142 = environment.createOutputNode(myConcepts[16]);
                    {
                      environment.associate(tnode142, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Arrays");
                      environment.associate(tnode142, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Arrays.asList(java.lang.Object...)");
                      TemplateContext context75 = context74.subContext();
                      {
                        final SNode tnode143 = environment.createOutputNode(myConcepts[13]);
                        environment.resolveInTemplateLater(tnode143, myAssociationLinks[2], templateNode14, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/263208052639706821", "rv", context75);
                        environment.aggregate(tnode142, myAggregationLinks[9], tnode143);
                      }
                    }
                    environment.aggregate(tnode141, myAggregationLinks[34], tnode142);
                  }
                }
                environment.aggregate(tnode123, myAggregationLinks[10], tnode141);
              }
            }
            environment.aggregate(tnode119, myAggregationLinks[14], tnode123);
          }
          {
            final SNode tnode144 = environment.createOutputNode(myConcepts[21]);
            environment.associate(tnode144, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode119, myAggregationLinks[16], tnode144);
          }
        }
        tlist118 = TemplateUtil.singletonList(tnode119);
        environment.aggregate(tnode1, myAggregationLinks[4], tlist118);
      }
      {
        final SNode tnode145 = environment.createOutputNode(myConcepts[8]);
        environment.aggregate(tnode1, myAggregationLinks[4], tnode145);
      }
      {
        Collection<SNode> tlist146 = Collections.emptyList();
        if (QueriesGenerated.ifMacro_Condition_6_3(new IfMacroContext(context1, ifMacroRef3))) {
          final SNode tnode147 = environment.createOutputNode(myConcepts[18]);
          {
            tnode147.setProperty(myProperties[3], "false");
            tnode147.setProperty(myProperties[0], "fillReferencedGenerators");
            tnode147.setProperty(myProperties[4], "false");
            tnode147.setProperty(myProperties[8], "false");
            TemplateContext context76 = context1.subContext();
            {
              final SNode tnode148 = environment.createOutputNode(myConcepts[39]);
              environment.aggregate(tnode147, myAggregationLinks[1], tnode148);
            }
            {
              final SNode tnode149 = environment.createOutputNode(myConcepts[10]);
              environment.aggregate(tnode147, myAggregationLinks[8], tnode149);
            }
            {
              final SNode tnode150 = environment.createOutputNode(myConcepts[17]);
              {
                environment.nodeCopied(context76, tnode150, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/6824413541682318365");
                tnode150.setProperty(myProperties[0], "referencedGenerators");
                TemplateContext context77 = context76.subContext();
                {
                  final SNode tnode151 = environment.createOutputNode(myConcepts[1]);
                  environment.associate(tnode151, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase$ReferencedGenerators");
                  environment.aggregate(tnode150, myAggregationLinks[3], tnode151);
                }
              }
              environment.aggregate(tnode147, myAggregationLinks[15], tnode150);
            }
            {
              final SNode tnode152 = environment.createOutputNode(myConcepts[11]);
              {
                TemplateContext context78 = context76.subContext();
                {
                  final List<SNode> tlist153 = new ArrayList<SNode>();
                  final Iterable<SNode> loopList153 = QueriesGenerated.sourceNodesQuery_6_3(new SourceSubstituteMacroNodesContext(context78, loopMacroRef2));
                  for (SNode itnode153 : loopList153) {
                    if (itnode153 == null) {
                      continue;
                    }
                    TemplateContext context79 = context78.subContext(itnode153);
                    final SNode tnode154 = environment.createOutputNode(myConcepts[14]);
                    {
                      TemplateContext context80 = context79.subContext();
                      {
                        final SNode tnode155 = environment.createOutputNode(myConcepts[24]);
                        {
                          TemplateContext context81 = context80.subContext();
                          {
                            final SNode tnode156 = environment.createOutputNode(myConcepts[13]);
                            environment.resolveInTemplateLater(tnode156, myAssociationLinks[2], templateNode15, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/6824413541682318365", "referencedGenerators", context81);
                            environment.aggregate(tnode155, myAggregationLinks[17], tnode156);
                          }
                          {
                            final SNode tnode157 = environment.createOutputNode(myConcepts[25]);
                            {
                              environment.associate(tnode157, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase$ReferencedGenerators.extended(java.lang.String)");
                              TemplateContext context82 = context81.subContext();
                              {
                                final SNode tnode158 = environment.createOutputNode(myConcepts[20]);
                                SNodeAccessUtil.setPropertyValue(tnode158, myProperties[5], QueriesGenerated.propertyMacro_GetValue_6_7(new PropertyMacroContext(context82, "", propertyMacro7)));
                                environment.aggregate(tnode157, myAggregationLinks[9], tnode158);
                              }
                            }
                            environment.aggregate(tnode155, myAggregationLinks[18], tnode157);
                          }
                        }
                        environment.aggregate(tnode154, myAggregationLinks[13], tnode155);
                      }
                    }
                    tlist153.add(tnode154);
                  }
                  environment.aggregate(tnode152, myAggregationLinks[10], tlist153);
                }
                {
                  final List<SNode> tlist159 = new ArrayList<SNode>();
                  final Iterable<SNode> loopList159 = QueriesGenerated.sourceNodesQuery_6_4(new SourceSubstituteMacroNodesContext(context78, loopMacroRef3));
                  for (SNode itnode159 : loopList159) {
                    if (itnode159 == null) {
                      continue;
                    }
                    TemplateContext context83 = context78.subContext(itnode159);
                    final SNode tnode160 = environment.createOutputNode(myConcepts[14]);
                    {
                      TemplateContext context84 = context83.subContext();
                      {
                        final SNode tnode161 = environment.createOutputNode(myConcepts[24]);
                        {
                          TemplateContext context85 = context84.subContext();
                          {
                            final SNode tnode162 = environment.createOutputNode(myConcepts[13]);
                            environment.resolveInTemplateLater(tnode162, myAssociationLinks[2], templateNode16, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/6824413541682318365", "referencedGenerators", context85);
                            environment.aggregate(tnode161, myAggregationLinks[17], tnode162);
                          }
                          {
                            final SNode tnode163 = environment.createOutputNode(myConcepts[25]);
                            {
                              environment.associate(tnode163, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase$ReferencedGenerators.employed(java.lang.String)");
                              TemplateContext context86 = context85.subContext();
                              {
                                final SNode tnode164 = environment.createOutputNode(myConcepts[20]);
                                SNodeAccessUtil.setPropertyValue(tnode164, myProperties[5], QueriesGenerated.propertyMacro_GetValue_6_8(new PropertyMacroContext(context86, "", propertyMacro8)));
                                environment.aggregate(tnode163, myAggregationLinks[9], tnode164);
                              }
                            }
                            environment.aggregate(tnode161, myAggregationLinks[18], tnode163);
                          }
                        }
                        environment.aggregate(tnode160, myAggregationLinks[13], tnode161);
                      }
                    }
                    tlist159.add(tnode160);
                  }
                  environment.aggregate(tnode152, myAggregationLinks[10], tlist159);
                }
              }
              environment.aggregate(tnode147, myAggregationLinks[14], tnode152);
            }
            {
              final SNode tnode165 = environment.createOutputNode(myConcepts[21]);
              environment.associate(tnode165, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
              environment.aggregate(tnode147, myAggregationLinks[16], tnode165);
            }
          }
          tlist146 = TemplateUtil.singletonList(tnode147);
        }
        environment.aggregate(tnode1, myAggregationLinks[4], tlist146);
      }
    }
    FragmentResult rv = nodeFragment(36, tnode1);
    rv.label(contextNoLabel, "generator.descriptor");
    return rv;
  }