public void apply()

in languages/languageDesign/generator/languages/descriptor/generator/source_gen/jetbrains/mps/lang/descriptor/generator/template/main/Template_InterpretedGeneratorRuntimeDescriptor.java [45:728]


  public void apply(TemplateContext context, ApplySink sink) throws GenerationException {
    final TemplateExecutionEnvironment environment = context.getEnvironment();
    final List<SNode> tlist1 = new ArrayList<SNode>();
    final SNode sourceNode1 = QueriesGenerated.sourceNodeQuery_7_0(new SourceSubstituteMacroNodeContext(context, mapsrcMacroRef));
    TemplateContext context1 = context.subContext(null, sourceNode1);
    if (sourceNode1 != null) {
      final SNode tnode2 = environment.createOutputNode(myConcepts[0]);
      {
        environment.nodeCopied(context1, tnode2, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715734036");
        SNodeAccessUtil.setPropertyValue(tnode2, myProperties[0], QueriesGenerated.propertyMacro_GetValue_7_7(new PropertyMacroContext(context1, "InterpretedGeneratorRuntimeDescriptor", propertyMacro)));
        TemplateContext context2 = context1.subContext();
        {
          final SNode tnode3 = environment.createOutputNode(myConcepts[1]);
          environment.aggregate(tnode2, myAggregationLinks[0], tnode3);
        }
        {
          final SNode tnode4 = environment.createOutputNode(myConcepts[2]);
          {
            TemplateContext context3 = context2.subContext();
            {
              final SNode tnode5 = environment.createOutputNode(myConcepts[3]);
              {
                environment.nodeCopied(context3, tnode5, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715817394");
                tnode5.setProperty(myProperties[0], "languageRegistry");
                TemplateContext context4 = context3.subContext();
                {
                  final SNode tnode6 = environment.createOutputNode(myConcepts[4]);
                  environment.associate(tnode6, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)", "~LanguageRegistry");
                  environment.aggregate(tnode5, myAggregationLinks[1], tnode6);
                }
              }
              environment.aggregate(tnode4, myAggregationLinks[2], tnode5);
            }
            {
              final SNode tnode7 = environment.createOutputNode(myConcepts[3]);
              {
                environment.nodeCopied(context3, tnode7, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715817396");
                tnode7.setProperty(myProperties[0], "sourceLanguage");
                TemplateContext context5 = context3.subContext();
                {
                  final SNode tnode8 = environment.createOutputNode(myConcepts[4]);
                  environment.associate(tnode8, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)", "~LanguageRuntime");
                  environment.aggregate(tnode7, myAggregationLinks[1], tnode8);
                }
              }
              environment.aggregate(tnode4, myAggregationLinks[2], tnode7);
            }
            {
              final SNode tnode9 = environment.createOutputNode(myConcepts[3]);
              {
                environment.nodeCopied(context3, tnode9, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715817418");
                tnode9.setProperty(myProperties[0], "generator");
                TemplateContext context6 = context3.subContext();
                {
                  final SNode tnode10 = environment.createOutputNode(myConcepts[4]);
                  environment.associate(tnode10, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel(MPS.Core/)", "~Generator");
                  environment.aggregate(tnode9, myAggregationLinks[1], tnode10);
                }
              }
              environment.aggregate(tnode4, myAggregationLinks[2], tnode9);
            }
            {
              final SNode tnode11 = environment.createOutputNode(myConcepts[5]);
              environment.aggregate(tnode4, myAggregationLinks[3], tnode11);
            }
            {
              final SNode tnode12 = environment.createOutputNode(myConcepts[6]);
              environment.aggregate(tnode4, myAggregationLinks[4], tnode12);
            }
            {
              final SNode tnode13 = environment.createOutputNode(myConcepts[7]);
              {
                TemplateContext context7 = context3.subContext();
                {
                  final SNode tnode14 = environment.createOutputNode(myConcepts[8]);
                  {
                    environment.associate(tnode14, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleInterpreted2.<init>(jetbrains.mps.smodel.language.LanguageRegistry,jetbrains.mps.smodel.language.LanguageRuntime,jetbrains.mps.smodel.Generator)");
                    TemplateContext context8 = context7.subContext();
                    {
                      final SNode tnode15 = environment.createOutputNode(myConcepts[9]);
                      environment.resolveInTemplateLater(tnode15, myAssociationLinks[2], templateNode, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715817394", "languageRegistry", context8);
                      environment.aggregate(tnode14, myAggregationLinks[5], tnode15);
                    }
                    {
                      final SNode tnode16 = environment.createOutputNode(myConcepts[9]);
                      environment.resolveInTemplateLater(tnode16, myAssociationLinks[2], templateNode1, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715817396", "sourceLanguage", context8);
                      environment.aggregate(tnode14, myAggregationLinks[5], tnode16);
                    }
                    {
                      final SNode tnode17 = environment.createOutputNode(myConcepts[9]);
                      environment.resolveInTemplateLater(tnode17, myAssociationLinks[2], templateNode2, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715817418", "generator", context8);
                      environment.aggregate(tnode14, myAggregationLinks[5], tnode17);
                    }
                  }
                  environment.aggregate(tnode13, myAggregationLinks[6], tnode14);
                }
              }
              environment.aggregate(tnode4, myAggregationLinks[7], tnode13);
            }
          }
          environment.aggregate(tnode2, myAggregationLinks[0], tnode4);
        }
        {
          final SNode tnode18 = environment.createOutputNode(myConcepts[1]);
          environment.aggregate(tnode2, myAggregationLinks[0], tnode18);
        }
        {
          final SNode tnode19 = environment.createOutputNode(myConcepts[10]);
          {
            tnode19.setProperty(myProperties[1], "false");
            tnode19.setProperty(myProperties[0], "getModuleReference");
            tnode19.setProperty(myProperties[2], "false");
            tnode19.setProperty(myProperties[3], "false");
            TemplateContext context9 = context2.subContext();
            {
              final SNode tnode20 = environment.createOutputNode(myConcepts[6]);
              environment.aggregate(tnode19, myAggregationLinks[4], tnode20);
            }
            {
              final SNode tnode21 = environment.createOutputNode(myConcepts[11]);
              environment.associate(tnode21, myAssociationLinks[3], "3f233e7f-b8a6-46d2-a57f-795d56775243/java:org.jetbrains.annotations(Annotations/)", "~NotNull");
              environment.aggregate(tnode19, myAggregationLinks[8], tnode21);
            }
            {
              final SNode tnode22 = environment.createOutputNode(myConcepts[4]);
              environment.associate(tnode22, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.module(MPS.OpenAPI/)", "~SModuleReference");
              environment.aggregate(tnode19, myAggregationLinks[3], tnode22);
            }
            {
              final SNode tnode23 = environment.createOutputNode(myConcepts[7]);
              {
                TemplateContext context10 = context9.subContext();
                {
                  final SNode tnode24 = environment.createOutputNode(myConcepts[12]);
                  {
                    TemplateContext context11 = context10.subContext();
                    {
                      final SNode tnode25 = environment.createOutputNode(myConcepts[13]);
                      {
                        TemplateContext context12 = context11.subContext();
                        {
                          final SNode tnode26 = environment.createOutputNode(myConcepts[14]);
                          environment.associate(tnode26, myAssociationLinks[1], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.persistence(MPS.OpenAPI/)", "~PersistenceFacade.getInstance()");
                          environment.associate(tnode26, myAssociationLinks[4], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.persistence(MPS.OpenAPI/)", "~PersistenceFacade");
                          environment.aggregate(tnode25, myAggregationLinks[9], tnode26);
                        }
                        {
                          final SNode tnode27 = environment.createOutputNode(myConcepts[15]);
                          {
                            environment.associate(tnode27, myAssociationLinks[1], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.persistence(MPS.OpenAPI/)", "~PersistenceFacade.createModuleReference(java.lang.String)");
                            TemplateContext context13 = context12.subContext();
                            {
                              final SNode tnode28 = environment.createOutputNode(myConcepts[16]);
                              SNodeAccessUtil.setPropertyValue(tnode28, myProperties[4], QueriesGenerated.propertyMacro_GetValue_7_0(new PropertyMacroContext(context13, "module.reference", propertyMacro1)));
                              environment.aggregate(tnode27, myAggregationLinks[5], tnode28);
                            }
                          }
                          environment.aggregate(tnode25, myAggregationLinks[10], tnode27);
                        }
                      }
                      environment.aggregate(tnode24, myAggregationLinks[11], tnode25);
                    }
                  }
                  environment.aggregate(tnode23, myAggregationLinks[6], tnode24);
                }
              }
              environment.aggregate(tnode19, myAggregationLinks[7], tnode23);
            }
            {
              final SNode tnode29 = environment.createOutputNode(myConcepts[11]);
              environment.associate(tnode29, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
              environment.aggregate(tnode19, myAggregationLinks[8], tnode29);
            }
          }
          environment.aggregate(tnode2, myAggregationLinks[0], tnode19);
        }
        {
          final SNode tnode30 = environment.createOutputNode(myConcepts[1]);
          environment.aggregate(tnode2, myAggregationLinks[0], tnode30);
        }
        {
          final SNode tnode31 = environment.createOutputNode(myConcepts[10]);
          {
            tnode31.setProperty(myProperties[1], "false");
            tnode31.setProperty(myProperties[0], "fillTemplateModels");
            tnode31.setProperty(myProperties[2], "false");
            tnode31.setProperty(myProperties[3], "false");
            TemplateContext context14 = context2.subContext();
            {
              final SNode tnode32 = environment.createOutputNode(myConcepts[17]);
              environment.aggregate(tnode31, myAggregationLinks[4], tnode32);
            }
            {
              final SNode tnode33 = environment.createOutputNode(myConcepts[5]);
              environment.aggregate(tnode31, myAggregationLinks[3], tnode33);
            }
            {
              final SNode tnode34 = environment.createOutputNode(myConcepts[3]);
              {
                environment.nodeCopied(context14, tnode34, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716136382");
                tnode34.setProperty(myProperties[0], "models");
                TemplateContext context15 = context14.subContext();
                {
                  final SNode tnode35 = environment.createOutputNode(myConcepts[4]);
                  environment.associate(tnode35, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleInterpreted2$TemplateModels");
                  environment.aggregate(tnode34, myAggregationLinks[1], tnode35);
                }
              }
              environment.aggregate(tnode31, myAggregationLinks[2], tnode34);
            }
            {
              final SNode tnode36 = environment.createOutputNode(myConcepts[7]);
              {
                TemplateContext context16 = context14.subContext();
                {
                  final List<SNode> tlist37 = new ArrayList<SNode>();
                  final Iterable<SNode> loopList37 = QueriesGenerated.sourceNodesQuery_7_0(new SourceSubstituteMacroNodesContext(context16, loopMacroRef));
                  for (SNode itnode37 : loopList37) {
                    if (itnode37 == null) {
                      continue;
                    }
                    TemplateContext context17 = context16.subContext(itnode37);
                    final SNode tnode38 = environment.createOutputNode(myConcepts[18]);
                    {
                      TemplateContext context18 = context17.subContext();
                      {
                        final SNode tnode39 = environment.createOutputNode(myConcepts[13]);
                        {
                          TemplateContext context19 = context18.subContext();
                          {
                            final SNode tnode40 = environment.createOutputNode(myConcepts[9]);
                            environment.resolveInTemplateLater(tnode40, myAssociationLinks[2], templateNode3, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716136382", "models", context19);
                            environment.aggregate(tnode39, myAggregationLinks[9], tnode40);
                          }
                          {
                            final SNode tnode41 = environment.createOutputNode(myConcepts[15]);
                            {
                              environment.associate(tnode41, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleInterpreted2$TemplateModels.templates(java.lang.String,java.lang.Class)");
                              TemplateContext context20 = context19.subContext();
                              {
                                final SNode tnode42 = environment.createOutputNode(myConcepts[16]);
                                SNodeAccessUtil.setPropertyValue(tnode42, myProperties[4], QueriesGenerated.propertyMacro_GetValue_7_1(new PropertyMacroContext(context20, "model-id", propertyMacro2)));
                                environment.aggregate(tnode41, myAggregationLinks[5], tnode42);
                              }
                              {
                                final SNode tnode43 = environment.createOutputNode(myConcepts[19]);
                                {
                                  TemplateContext context21 = context20.subContext();
                                  {
                                    final SNode tnode44 = environment.createOutputNode(myConcepts[20]);
                                    SNodeAccessUtil.setPropertyValue(tnode44, myProperties[5], QueriesGenerated.propertyMacro_GetValue_7_2(new PropertyMacroContext(context21, "QueriesGenerated", propertyMacro3)));
                                    environment.associate(tnode44, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.impl.query(MPS.Generator/)", "~GeneratorQueryProvider");
                                    environment.aggregate(tnode43, myAggregationLinks[12], tnode44);
                                  }
                                }
                                environment.aggregate(tnode41, myAggregationLinks[5], tnode43);
                              }
                            }
                            environment.aggregate(tnode39, myAggregationLinks[10], tnode41);
                          }
                        }
                        environment.aggregate(tnode38, myAggregationLinks[13], tnode39);
                      }
                    }
                    tlist37.add(tnode38);
                  }
                  environment.aggregate(tnode36, myAggregationLinks[6], tlist37);
                }
              }
              environment.aggregate(tnode31, myAggregationLinks[7], tnode36);
            }
            {
              final SNode tnode45 = environment.createOutputNode(myConcepts[11]);
              environment.associate(tnode45, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
              environment.aggregate(tnode31, myAggregationLinks[8], tnode45);
            }
          }
          environment.aggregate(tnode2, myAggregationLinks[0], tnode31);
        }
        {
          final SNode tnode46 = environment.createOutputNode(myConcepts[1]);
          environment.aggregate(tnode2, myAggregationLinks[0], tnode46);
        }
        {
          Collection<SNode> tlist47 = Collections.emptyList();
          if (QueriesGenerated.ifMacro_Condition_7_0(new IfMacroContext(context2, ifMacroRef))) {
            final SNode tnode48 = environment.createOutputNode(myConcepts[10]);
            {
              tnode48.setProperty(myProperties[1], "false");
              tnode48.setProperty(myProperties[0], "fillReferencedGenerators");
              tnode48.setProperty(myProperties[2], "false");
              tnode48.setProperty(myProperties[3], "false");
              TemplateContext context22 = context2.subContext();
              {
                final SNode tnode49 = environment.createOutputNode(myConcepts[17]);
                environment.aggregate(tnode48, myAggregationLinks[4], tnode49);
              }
              {
                final SNode tnode50 = environment.createOutputNode(myConcepts[5]);
                environment.aggregate(tnode48, myAggregationLinks[3], tnode50);
              }
              {
                final SNode tnode51 = environment.createOutputNode(myConcepts[3]);
                {
                  environment.nodeCopied(context22, tnode51, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716048444");
                  tnode51.setProperty(myProperties[0], "referencedGenerators");
                  TemplateContext context23 = context22.subContext();
                  {
                    final SNode tnode52 = environment.createOutputNode(myConcepts[4]);
                    environment.associate(tnode52, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase$ReferencedGenerators");
                    environment.aggregate(tnode51, myAggregationLinks[1], tnode52);
                  }
                }
                environment.aggregate(tnode48, myAggregationLinks[2], tnode51);
              }
              {
                final SNode tnode53 = environment.createOutputNode(myConcepts[7]);
                {
                  TemplateContext context24 = context22.subContext();
                  {
                    final List<SNode> tlist54 = new ArrayList<SNode>();
                    final Iterable<SNode> loopList54 = QueriesGenerated.sourceNodesQuery_7_1(new SourceSubstituteMacroNodesContext(context24, loopMacroRef1));
                    for (SNode itnode54 : loopList54) {
                      if (itnode54 == null) {
                        continue;
                      }
                      TemplateContext context25 = context24.subContext(itnode54);
                      final SNode tnode55 = environment.createOutputNode(myConcepts[18]);
                      {
                        TemplateContext context26 = context25.subContext();
                        {
                          final SNode tnode56 = environment.createOutputNode(myConcepts[13]);
                          {
                            TemplateContext context27 = context26.subContext();
                            {
                              final SNode tnode57 = environment.createOutputNode(myConcepts[9]);
                              environment.resolveInTemplateLater(tnode57, myAssociationLinks[2], templateNode4, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716048444", "referencedGenerators", context27);
                              environment.aggregate(tnode56, myAggregationLinks[9], tnode57);
                            }
                            {
                              final SNode tnode58 = environment.createOutputNode(myConcepts[15]);
                              {
                                environment.associate(tnode58, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase$ReferencedGenerators.extended(java.lang.String)");
                                TemplateContext context28 = context27.subContext();
                                {
                                  final SNode tnode59 = environment.createOutputNode(myConcepts[16]);
                                  SNodeAccessUtil.setPropertyValue(tnode59, myProperties[4], QueriesGenerated.propertyMacro_GetValue_7_3(new PropertyMacroContext(context28, "", propertyMacro4)));
                                  environment.aggregate(tnode58, myAggregationLinks[5], tnode59);
                                }
                              }
                              environment.aggregate(tnode56, myAggregationLinks[10], tnode58);
                            }
                          }
                          environment.aggregate(tnode55, myAggregationLinks[13], tnode56);
                        }
                      }
                      tlist54.add(tnode55);
                    }
                    environment.aggregate(tnode53, myAggregationLinks[6], tlist54);
                  }
                  {
                    final List<SNode> tlist60 = new ArrayList<SNode>();
                    final Iterable<SNode> loopList60 = QueriesGenerated.sourceNodesQuery_7_2(new SourceSubstituteMacroNodesContext(context24, loopMacroRef2));
                    for (SNode itnode60 : loopList60) {
                      if (itnode60 == null) {
                        continue;
                      }
                      TemplateContext context29 = context24.subContext(itnode60);
                      final SNode tnode61 = environment.createOutputNode(myConcepts[18]);
                      {
                        TemplateContext context30 = context29.subContext();
                        {
                          final SNode tnode62 = environment.createOutputNode(myConcepts[13]);
                          {
                            TemplateContext context31 = context30.subContext();
                            {
                              final SNode tnode63 = environment.createOutputNode(myConcepts[9]);
                              environment.resolveInTemplateLater(tnode63, myAssociationLinks[2], templateNode5, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716048444", "referencedGenerators", context31);
                              environment.aggregate(tnode62, myAggregationLinks[9], tnode63);
                            }
                            {
                              final SNode tnode64 = environment.createOutputNode(myConcepts[15]);
                              {
                                environment.associate(tnode64, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleBase$ReferencedGenerators.employed(java.lang.String)");
                                TemplateContext context32 = context31.subContext();
                                {
                                  final SNode tnode65 = environment.createOutputNode(myConcepts[16]);
                                  SNodeAccessUtil.setPropertyValue(tnode65, myProperties[4], QueriesGenerated.propertyMacro_GetValue_7_4(new PropertyMacroContext(context32, "", propertyMacro5)));
                                  environment.aggregate(tnode64, myAggregationLinks[5], tnode65);
                                }
                              }
                              environment.aggregate(tnode62, myAggregationLinks[10], tnode64);
                            }
                          }
                          environment.aggregate(tnode61, myAggregationLinks[13], tnode62);
                        }
                      }
                      tlist60.add(tnode61);
                    }
                    environment.aggregate(tnode53, myAggregationLinks[6], tlist60);
                  }
                }
                environment.aggregate(tnode48, myAggregationLinks[7], tnode53);
              }
              {
                final SNode tnode66 = environment.createOutputNode(myConcepts[11]);
                environment.associate(tnode66, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
                environment.aggregate(tnode48, myAggregationLinks[8], tnode66);
              }
            }
            tlist47 = TemplateUtil.singletonList(tnode48);
          }
          environment.aggregate(tnode2, myAggregationLinks[0], tlist47);
        }
        {
          final SNode tnode67 = environment.createOutputNode(myConcepts[1]);
          environment.aggregate(tnode2, myAggregationLinks[0], tnode67);
        }
        {
          Collection<SNode> tlist68 = null;
          TemplateContext context33 = context2;
          context33 = context33.withVariable("var:targetLanguages", QueriesGenerated.varMacro_Value_7_0(new TemplateVarContext(context33, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "2409421742521902666"))));
          final SNode tnode69 = environment.createOutputNode(myConcepts[10]);
          {
            tnode69.setProperty(myProperties[1], "false");
            tnode69.setProperty(myProperties[0], "getTargetLanguages");
            tnode69.setProperty(myProperties[2], "false");
            tnode69.setProperty(myProperties[3], "false");
            TemplateContext context34 = context33.subContext();
            {
              final SNode tnode70 = environment.createOutputNode(myConcepts[6]);
              environment.aggregate(tnode69, myAggregationLinks[4], tnode70);
            }
            {
              final SNode tnode71 = environment.createOutputNode(myConcepts[4]);
              {
                environment.associate(tnode71, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection");
                TemplateContext context35 = context34.subContext();
                {
                  final SNode tnode72 = environment.createOutputNode(myConcepts[4]);
                  environment.associate(tnode72, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                  environment.aggregate(tnode71, myAggregationLinks[14], tnode72);
                }
              }
              environment.aggregate(tnode69, myAggregationLinks[3], tnode71);
            }
            {
              final SNode tnode73 = environment.createOutputNode(myConcepts[7]);
              {
                TemplateContext context36 = context34.subContext();
                {
                  final SNode tnode74 = environment.createOutputNode(myConcepts[21]);
                  {
                    TemplateContext context37 = context36.subContext();
                    {
                      final SNode tnode75 = environment.createOutputNode(myConcepts[22]);
                      {
                        environment.nodeCopied(context37, tnode75, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716010747");
                        tnode75.setProperty(myProperties[0], "rv");
                        TemplateContext context38 = context37.subContext();
                        {
                          final SNode tnode76 = environment.createOutputNode(myConcepts[23]);
                          {
                            TemplateContext context39 = context38.subContext();
                            {
                              final SNode tnode77 = environment.createOutputNode(myConcepts[4]);
                              environment.associate(tnode77, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                              environment.aggregate(tnode76, myAggregationLinks[15], tnode77);
                            }
                          }
                          environment.aggregate(tnode75, myAggregationLinks[1], tnode76);
                        }
                        {
                          final SNode tnode78 = environment.createOutputNode(myConcepts[24]);
                          {
                            TemplateContext context40 = context38.subContext();
                            {
                              final SNode tnode79 = environment.createOutputNode(myConcepts[25]);
                              {
                                TemplateContext context41 = context40.subContext();
                                {
                                  final SNode tnode80 = environment.createOutputNode(myConcepts[26]);
                                  {
                                    TemplateContext context42 = context41.subContext();
                                    {
                                      final SNode tnode81 = environment.createOutputNode(myConcepts[27]);
                                      SNodeAccessUtil.setPropertyValue(tnode81, myProperties[6], QueriesGenerated.propertyMacro_GetValue_7_5(new PropertyMacroContext(context42, "0", propertyMacro6)));
                                      environment.aggregate(tnode80, myAggregationLinks[16], tnode81);
                                    }
                                  }
                                  environment.aggregate(tnode79, myAggregationLinks[17], tnode80);
                                }
                                {
                                  final SNode tnode82 = environment.createOutputNode(myConcepts[4]);
                                  environment.associate(tnode82, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                                  environment.aggregate(tnode79, myAggregationLinks[18], tnode82);
                                }
                              }
                              environment.aggregate(tnode78, myAggregationLinks[19], tnode79);
                            }
                          }
                          environment.aggregate(tnode75, myAggregationLinks[20], tnode78);
                        }
                      }
                      environment.aggregate(tnode74, myAggregationLinks[21], tnode75);
                    }
                  }
                  environment.aggregate(tnode73, myAggregationLinks[6], tnode74);
                }
                {
                  final List<SNode> tlist83 = new ArrayList<SNode>();
                  final Iterable<SNode> loopList83 = QueriesGenerated.sourceNodesQuery_7_3(new SourceSubstituteMacroNodesContext(context36, loopMacroRef3));
                  int loopIndex_83 = 0;
                  for (SNode itnode83 : loopList83) {
                    if (itnode83 == null) {
                      continue;
                    }
                    TemplateContext context43 = context36.subContext(itnode83);
                    context43 = context43.withVariable("loop:index", loopIndex_83);
                    loopIndex_83++;
                    final SNode tnode84 = environment.createOutputNode(myConcepts[18]);
                    {
                      TemplateContext context44 = context43.subContext();
                      {
                        final SNode tnode85 = environment.createOutputNode(myConcepts[28]);
                        {
                          TemplateContext context45 = context44.subContext();
                          {
                            final SNode tnode86 = environment.createOutputNode(myConcepts[29]);
                            {
                              TemplateContext context46 = context45.subContext();
                              {
                                final SNode tnode87 = environment.createOutputNode(myConcepts[27]);
                                SNodeAccessUtil.setPropertyValue(tnode87, myProperties[6], QueriesGenerated.propertyMacro_GetValue_7_6(new PropertyMacroContext(context46, "0", propertyMacro7)));
                                environment.aggregate(tnode86, myAggregationLinks[22], tnode87);
                              }
                              {
                                final SNode tnode88 = environment.createOutputNode(myConcepts[9]);
                                environment.resolveInTemplateLater(tnode88, myAssociationLinks[2], templateNode6, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716010747", "rv", context46);
                                environment.aggregate(tnode86, myAggregationLinks[23], tnode88);
                              }
                            }
                            environment.aggregate(tnode85, myAggregationLinks[24], tnode86);
                          }
                          {
                            final SNode tnode89 = environment.createOutputNode(myConcepts[30]);
                            {
                              TemplateContext context47 = context45.subContext();
                              {
                                Collection<SNode> tlist90 = Collections.emptyList();
                                final SNode insertInput90 = QueriesGenerated.insertMacro_Query_7_0(new InsertMacroContext(context47, insertMacro));
                                if (insertInput90 != null) {
                                  tlist90 = Collections.singletonList(environment.insertNode(insertInput90, insertMacro, context47));
                                }
                                environment.aggregate(tnode89, myAggregationLinks[25], tlist90);
                              }
                            }
                            environment.aggregate(tnode85, myAggregationLinks[26], tnode89);
                          }
                        }
                        environment.aggregate(tnode84, myAggregationLinks[13], tnode85);
                      }
                    }
                    tlist83.add(tnode84);
                  }
                  environment.aggregate(tnode73, myAggregationLinks[6], tlist83);
                }
                {
                  final SNode tnode91 = environment.createOutputNode(myConcepts[12]);
                  {
                    TemplateContext context48 = context36.subContext();
                    {
                      final SNode tnode92 = environment.createOutputNode(myConcepts[14]);
                      {
                        environment.associate(tnode92, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Arrays");
                        environment.associate(tnode92, myAssociationLinks[1], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Arrays.asList(java.lang.Object...)");
                        TemplateContext context49 = context48.subContext();
                        {
                          final SNode tnode93 = environment.createOutputNode(myConcepts[9]);
                          environment.resolveInTemplateLater(tnode93, myAssociationLinks[2], templateNode7, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152716010747", "rv", context49);
                          environment.aggregate(tnode92, myAggregationLinks[5], tnode93);
                        }
                      }
                      environment.aggregate(tnode91, myAggregationLinks[11], tnode92);
                    }
                  }
                  environment.aggregate(tnode73, myAggregationLinks[6], tnode91);
                }
              }
              environment.aggregate(tnode69, myAggregationLinks[7], tnode73);
            }
            {
              final SNode tnode94 = environment.createOutputNode(myConcepts[11]);
              environment.associate(tnode94, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
              environment.aggregate(tnode69, myAggregationLinks[8], tnode94);
            }
          }
          tlist68 = TemplateUtil.singletonList(tnode69);
          environment.aggregate(tnode2, myAggregationLinks[0], tlist68);
        }
        {
          final SNode tnode95 = environment.createOutputNode(myConcepts[1]);
          environment.aggregate(tnode2, myAggregationLinks[0], tnode95);
        }
        {
          Collection<SNode> tlist96 = Collections.emptyList();
          if (QueriesGenerated.ifMacro_Condition_7_1(new IfMacroContext(context2, ifMacroRef1))) {
            final SNode tnode97 = environment.createOutputNode(myConcepts[10]);
            {
              tnode97.setProperty(myProperties[1], "false");
              tnode97.setProperty(myProperties[0], "getPriorities");
              tnode97.setProperty(myProperties[2], "false");
              tnode97.setProperty(myProperties[3], "false");
              TemplateContext context50 = context2.subContext();
              {
                final SNode tnode98 = environment.createOutputNode(myConcepts[6]);
                environment.aggregate(tnode97, myAggregationLinks[4], tnode98);
              }
              {
                final SNode tnode99 = environment.createOutputNode(myConcepts[4]);
                {
                  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[4]);
                    environment.associate(tnode100, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.generator.runtime(MPS.Core/)", "~TemplateMappingPriorityRule");
                    environment.aggregate(tnode99, myAggregationLinks[14], tnode100);
                  }
                }
                environment.aggregate(tnode97, myAggregationLinks[3], tnode99);
              }
              {
                final SNode tnode101 = environment.createOutputNode(myConcepts[7]);
                {
                  TemplateContext context52 = context50.subContext();
                  {
                    final SNode tnode102 = environment.createOutputNode(myConcepts[12]);
                    {
                      TemplateContext context53 = context52.subContext();
                      {
                        final SNode tnode103 = environment.createOutputNode(myConcepts[14]);
                        {
                          environment.associate(tnode103, myAssociationLinks[4], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateUtil");
                          environment.associate(tnode103, myAssociationLinks[1], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateUtil.asCollection(java.lang.Object...)");
                          TemplateContext context54 = context53.subContext();
                          {
                            Collection<SNode> tlist104 = null;
                            final Iterable<SNode> copyListInput104 = QueriesGenerated.sourceNodesQuery_7_4(new SourceSubstituteMacroNodesContext(context54, copySrcListMacro));
                            tlist104 = environment.copyNodes(copyListInput104, copySrcListMacro, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/1066600152715942257", context54);
                            environment.aggregate(tnode103, myAggregationLinks[5], tlist104);
                          }
                        }
                        environment.aggregate(tnode102, myAggregationLinks[11], tnode103);
                      }
                    }
                    environment.aggregate(tnode101, myAggregationLinks[6], tnode102);
                  }
                }
                environment.aggregate(tnode97, myAggregationLinks[7], tnode101);
              }
              {
                final SNode tnode105 = environment.createOutputNode(myConcepts[11]);
                environment.associate(tnode105, myAssociationLinks[3], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
                environment.aggregate(tnode97, myAggregationLinks[8], tnode105);
              }
            }
            tlist96 = TemplateUtil.singletonList(tnode97);
          }
          environment.aggregate(tnode2, myAggregationLinks[0], tlist96);
        }
        {
          final SNode tnode106 = environment.createOutputNode(myConcepts[6]);
          environment.aggregate(tnode2, myAggregationLinks[4], tnode106);
        }
        {
          final SNode tnode107 = environment.createOutputNode(myConcepts[4]);
          environment.associate(tnode107, myAssociationLinks[0], "215c4c45-ba99-49f5-9ab7-4b6901a63cfd/java:jetbrains.mps.generator.runtime(MPS.Generator/)", "~TemplateModuleInterpreted2");
          environment.aggregate(tnode2, myAggregationLinks[27], tnode107);
        }
      }
      tlist1.add(tnode2);
    }
    sink.add(null, tlist1);
  }