public void apply()

in languages/languageDesign/generator/languages/descriptor/generator/source_gen/jetbrains/mps/lang/descriptor/generator/template/main/Template_Language.java [42:639]


  public void apply(TemplateContext context, ApplySink sink) throws GenerationException {
    final TemplateExecutionEnvironment environment = context.getEnvironment();
    Collection<SNode> tlist1 = null;
    TemplateContext context1 = context;
    context1 = context1.withVariable("var:repo", QueriesGenerated.varMacro_Value_0_1(new TemplateVarContext(context1, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "3242214770611298472"))));
    context1 = context1.withVariable("var:langModule", QueriesGenerated.varMacro_Value_0_2(new TemplateVarContext(context1, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "2409421742521900524"))));
    final SNode tnode2 = environment.createOutputNode(myConcepts[0]);
    {
      environment.nodeCopied(context1, tnode2, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/9020561928507177266");
      tnode2.setProperty(myProperties[0], "Language");
      TemplateContext context2 = context1.subContext();
      {
        final SNode tnode3 = environment.createOutputNode(myConcepts[1]);
        environment.aggregate(tnode2, myAggregationLinks[0], tnode3);
      }
      {
        final SNode tnode4 = environment.createOutputNode(myConcepts[2]);
        environment.associate(tnode4, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)", "~LanguageRuntime");
        environment.aggregate(tnode2, myAggregationLinks[1], tnode4);
      }
      {
        final SNode tnode5 = environment.createOutputNode(myConcepts[3]);
        {
          environment.nodeCopied(context2, tnode5, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/2800414547479137533");
          tnode5.setProperty(myProperties[1], "false");
          tnode5.setProperty(myProperties[2], "false");
          tnode5.setProperty(myProperties[0], "myId");
          tnode5.setProperty(myProperties[3], "true");
          TemplateContext context3 = context2.subContext();
          {
            final SNode tnode6 = environment.createOutputNode(myConcepts[4]);
            environment.aggregate(tnode5, myAggregationLinks[0], tnode6);
          }
          {
            final SNode tnode7 = environment.createOutputNode(myConcepts[2]);
            environment.associate(tnode7, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.ids(MPS.Core/)", "~SLanguageId");
            environment.aggregate(tnode5, myAggregationLinks[2], tnode7);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode5);
      }
      {
        final SNode tnode8 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode8);
      }
      {
        final SNode tnode9 = environment.createOutputNode(myConcepts[6]);
        {
          TemplateContext context4 = context2.subContext();
          {
            final SNode tnode10 = environment.createOutputNode(myConcepts[7]);
            environment.aggregate(tnode9, myAggregationLinks[4], tnode10);
          }
          {
            final SNode tnode11 = environment.createOutputNode(myConcepts[1]);
            environment.aggregate(tnode9, myAggregationLinks[0], tnode11);
          }
          {
            final SNode tnode12 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context5 = context4.subContext();
              {
                final SNode tnode13 = environment.createOutputNode(myConcepts[9]);
                {
                  TemplateContext context6 = context5.subContext();
                  {
                    final SNode tnode14 = environment.createOutputNode(myConcepts[10]);
                    {
                      TemplateContext context7 = context6.subContext();
                      {
                        final SNode tnode15 = environment.createOutputNode(myConcepts[11]);
                        environment.resolveInTemplateLater(tnode15, myAssociationLinks[1], templateNode, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/2800414547479137533", "myId", context7);
                        environment.aggregate(tnode14, myAggregationLinks[5], tnode15);
                      }
                      {
                        final SNode tnode16 = environment.createOutputNode(myConcepts[12]);
                        {
                          environment.associate(tnode16, myAssociationLinks[2], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.ids(MPS.Core/)", "~SLanguageId.deserialize(java.lang.String)");
                          environment.associate(tnode16, myAssociationLinks[3], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.ids(MPS.Core/)", "~SLanguageId");
                          TemplateContext context8 = context7.subContext();
                          {
                            final SNode tnode17 = environment.createOutputNode(myConcepts[13]);
                            SNodeAccessUtil.setPropertyValue(tnode17, myProperties[4], QueriesGenerated.propertyMacro_GetValue_0_0(new PropertyMacroContext(context8, "moduleId", propertyMacro)));
                            environment.aggregate(tnode16, myAggregationLinks[6], tnode17);
                          }
                        }
                        environment.aggregate(tnode14, myAggregationLinks[7], tnode16);
                      }
                    }
                    environment.aggregate(tnode13, myAggregationLinks[8], tnode14);
                  }
                }
                environment.aggregate(tnode12, myAggregationLinks[9], tnode13);
              }
            }
            environment.aggregate(tnode9, myAggregationLinks[10], tnode12);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode9);
      }
      {
        final SNode tnode18 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode18);
      }
      {
        final SNode tnode19 = environment.createOutputNode(myConcepts[14]);
        {
          tnode19.setProperty(myProperties[5], "false");
          tnode19.setProperty(myProperties[0], "getNamespace");
          tnode19.setProperty(myProperties[6], "false");
          TemplateContext context9 = context2.subContext();
          {
            final SNode tnode20 = environment.createOutputNode(myConcepts[15]);
            environment.aggregate(tnode19, myAggregationLinks[4], tnode20);
          }
          {
            final SNode tnode21 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context10 = context9.subContext();
              {
                final SNode tnode22 = environment.createOutputNode(myConcepts[9]);
                {
                  TemplateContext context11 = context10.subContext();
                  {
                    final SNode tnode23 = environment.createOutputNode(myConcepts[13]);
                    SNodeAccessUtil.setPropertyValue(tnode23, myProperties[4], QueriesGenerated.propertyMacro_GetValue_0_1(new PropertyMacroContext(context11, "", propertyMacro1)));
                    environment.aggregate(tnode22, myAggregationLinks[8], tnode23);
                  }
                }
                environment.aggregate(tnode21, myAggregationLinks[9], tnode22);
              }
            }
            environment.aggregate(tnode19, myAggregationLinks[10], tnode21);
          }
          {
            final SNode tnode24 = environment.createOutputNode(myConcepts[1]);
            environment.aggregate(tnode19, myAggregationLinks[0], tnode24);
          }
          {
            final SNode tnode25 = environment.createOutputNode(myConcepts[16]);
            environment.associate(tnode25, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode19, myAggregationLinks[11], tnode25);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode19);
      }
      {
        final SNode tnode26 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode26);
      }
      {
        final SNode tnode27 = environment.createOutputNode(myConcepts[14]);
        {
          tnode27.setProperty(myProperties[5], "false");
          tnode27.setProperty(myProperties[0], "getVersion");
          tnode27.setProperty(myProperties[6], "false");
          TemplateContext context12 = context2.subContext();
          {
            final SNode tnode28 = environment.createOutputNode(myConcepts[1]);
            environment.aggregate(tnode27, myAggregationLinks[0], tnode28);
          }
          {
            final SNode tnode29 = environment.createOutputNode(myConcepts[17]);
            environment.aggregate(tnode27, myAggregationLinks[4], tnode29);
          }
          {
            final SNode tnode30 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context13 = context12.subContext();
              {
                final SNode tnode31 = environment.createOutputNode(myConcepts[9]);
                {
                  TemplateContext context14 = context13.subContext();
                  {
                    final SNode tnode32 = environment.createOutputNode(myConcepts[18]);
                    SNodeAccessUtil.setPropertyValue(tnode32, myProperties[7], QueriesGenerated.propertyMacro_GetValue_0_2(new PropertyMacroContext(context14, "0", propertyMacro2)));
                    environment.aggregate(tnode31, myAggregationLinks[8], tnode32);
                  }
                }
                environment.aggregate(tnode30, myAggregationLinks[9], tnode31);
              }
            }
            environment.aggregate(tnode27, myAggregationLinks[10], tnode30);
          }
          {
            final SNode tnode33 = environment.createOutputNode(myConcepts[16]);
            environment.associate(tnode33, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode27, myAggregationLinks[11], tnode33);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode27);
      }
      {
        final SNode tnode34 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode34);
      }
      {
        final SNode tnode35 = environment.createOutputNode(myConcepts[14]);
        {
          tnode35.setProperty(myProperties[5], "false");
          tnode35.setProperty(myProperties[0], "getId");
          tnode35.setProperty(myProperties[8], "false");
          tnode35.setProperty(myProperties[6], "false");
          tnode35.setProperty(myProperties[9], "false");
          TemplateContext context15 = context2.subContext();
          {
            final SNode tnode36 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context16 = context15.subContext();
              {
                final SNode tnode37 = environment.createOutputNode(myConcepts[19]);
                {
                  TemplateContext context17 = context16.subContext();
                  {
                    final SNode tnode38 = environment.createOutputNode(myConcepts[11]);
                    environment.resolveInTemplateLater(tnode38, myAssociationLinks[1], templateNode1, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/2800414547479137533", "myId", context17);
                    environment.aggregate(tnode37, myAggregationLinks[12], tnode38);
                  }
                }
                environment.aggregate(tnode36, myAggregationLinks[9], tnode37);
              }
            }
            environment.aggregate(tnode35, myAggregationLinks[10], tnode36);
          }
          {
            final SNode tnode39 = environment.createOutputNode(myConcepts[1]);
            environment.aggregate(tnode35, myAggregationLinks[0], tnode39);
          }
          {
            final SNode tnode40 = environment.createOutputNode(myConcepts[2]);
            environment.associate(tnode40, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.ids(MPS.Core/)", "~SLanguageId");
            environment.aggregate(tnode35, myAggregationLinks[4], tnode40);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode35);
      }
      {
        final SNode tnode41 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode41);
      }
      {
        final SNode tnode42 = environment.createOutputNode(myConcepts[14]);
        {
          tnode42.setProperty(myProperties[5], "false");
          tnode42.setProperty(myProperties[0], "fillExtendedLanguages");
          tnode42.setProperty(myProperties[6], "false");
          tnode42.setProperty(myProperties[8], "false");
          TemplateContext context18 = context2.subContext();
          {
            final SNode tnode43 = environment.createOutputNode(myConcepts[20]);
            environment.aggregate(tnode42, myAggregationLinks[0], tnode43);
          }
          {
            final SNode tnode44 = environment.createOutputNode(myConcepts[7]);
            environment.aggregate(tnode42, myAggregationLinks[4], tnode44);
          }
          {
            final SNode tnode45 = environment.createOutputNode(myConcepts[21]);
            {
              environment.nodeCopied(context18, tnode45, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/2800414547479207697");
              tnode45.setProperty(myProperties[0], "extendedLanguages");
              TemplateContext context19 = context18.subContext();
              {
                final SNode tnode46 = environment.createOutputNode(myConcepts[2]);
                {
                  environment.associate(tnode46, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection");
                  TemplateContext context20 = context19.subContext();
                  {
                    final SNode tnode47 = environment.createOutputNode(myConcepts[2]);
                    environment.associate(tnode47, myAssociationLinks[0], "8865b7a8-5271-43d3-884c-6fd1d9cfdd34/java:org.jetbrains.mps.openapi.language(MPS.OpenAPI/)", "~SLanguage");
                    environment.aggregate(tnode46, myAggregationLinks[13], tnode47);
                  }
                }
                environment.aggregate(tnode45, myAggregationLinks[2], tnode46);
              }
            }
            environment.aggregate(tnode42, myAggregationLinks[14], tnode45);
          }
          {
            final SNode tnode48 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context21 = context18.subContext();
              {
                final List<SNode> tlist49 = new ArrayList<SNode>();
                final Iterable<SNode> loopList49 = QueriesGenerated.sourceNodesQuery_0_0(new SourceSubstituteMacroNodesContext(context21, loopMacroRef));
                for (SNode itnode49 : loopList49) {
                  if (itnode49 == null) {
                    continue;
                  }
                  TemplateContext context22 = context21.subContext(itnode49);
                  final SNode tnode50 = environment.createOutputNode(myConcepts[9]);
                  {
                    TemplateContext context23 = context22.subContext();
                    {
                      final SNode tnode51 = environment.createOutputNode(myConcepts[22]);
                      {
                        TemplateContext context24 = context23.subContext();
                        {
                          final SNode tnode52 = environment.createOutputNode(myConcepts[11]);
                          environment.resolveInTemplateLater(tnode52, myAssociationLinks[1], templateNode2, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/2800414547479207697", "extendedLanguages", context24);
                          environment.aggregate(tnode51, myAggregationLinks[15], tnode52);
                        }
                        {
                          final SNode tnode53 = environment.createOutputNode(myConcepts[23]);
                          {
                            environment.associate(tnode53, myAssociationLinks[2], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.util(JDK/)", "~Collection.add(java.lang.Object)");
                            TemplateContext context25 = context24.subContext();
                            {
                              final SNode tnode54 = environment.createOutputNode(myConcepts[12]);
                              {
                                environment.associate(tnode54, myAssociationLinks[3], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.structure(MPS.Core/)", "~MetaAdapterFactory");
                                environment.associate(tnode54, myAssociationLinks[2], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.structure(MPS.Core/)", "~MetaAdapterFactory.getLanguage(jetbrains.mps.smodel.adapter.ids.SLanguageId,java.lang.String)");
                                TemplateContext context26 = context25.subContext();
                                {
                                  final SNode tnode55 = environment.createOutputNode(myConcepts[12]);
                                  {
                                    environment.associate(tnode55, myAssociationLinks[2], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.ids(MPS.Core/)", "~SLanguageId.deserialize(java.lang.String)");
                                    environment.associate(tnode55, myAssociationLinks[3], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.adapter.ids(MPS.Core/)", "~SLanguageId");
                                    TemplateContext context27 = context26.subContext();
                                    {
                                      final SNode tnode56 = environment.createOutputNode(myConcepts[13]);
                                      SNodeAccessUtil.setPropertyValue(tnode56, myProperties[4], QueriesGenerated.propertyMacro_GetValue_0_3(new PropertyMacroContext(context27, "", propertyMacro3)));
                                      environment.aggregate(tnode55, myAggregationLinks[6], tnode56);
                                    }
                                  }
                                  environment.aggregate(tnode54, myAggregationLinks[6], tnode55);
                                }
                                {
                                  final SNode tnode57 = environment.createOutputNode(myConcepts[13]);
                                  SNodeAccessUtil.setPropertyValue(tnode57, myProperties[4], QueriesGenerated.propertyMacro_GetValue_0_4(new PropertyMacroContext(context26, "", propertyMacro4)));
                                  environment.aggregate(tnode54, myAggregationLinks[6], tnode57);
                                }
                              }
                              environment.aggregate(tnode53, myAggregationLinks[6], tnode54);
                            }
                          }
                          environment.aggregate(tnode51, myAggregationLinks[16], tnode53);
                        }
                      }
                      environment.aggregate(tnode50, myAggregationLinks[8], tnode51);
                    }
                  }
                  tlist49.add(tnode50);
                }
                environment.aggregate(tnode48, myAggregationLinks[9], tlist49);
              }
            }
            environment.aggregate(tnode42, myAggregationLinks[10], tnode48);
          }
          {
            final SNode tnode58 = environment.createOutputNode(myConcepts[16]);
            environment.associate(tnode58, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode42, myAggregationLinks[11], tnode58);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode42);
      }
      {
        final SNode tnode59 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode59);
      }
      {
        final SNode tnode60 = environment.createOutputNode(myConcepts[14]);
        {
          tnode60.setProperty(myProperties[5], "false");
          tnode60.setProperty(myProperties[6], "false");
          tnode60.setProperty(myProperties[0], "createAspect");
          TemplateContext context28 = context2.subContext();
          {
            final SNode tnode61 = environment.createOutputNode(myConcepts[20]);
            environment.aggregate(tnode60, myAggregationLinks[0], tnode61);
          }
          {
            final SNode tnode62 = environment.createOutputNode(myConcepts[24]);
            {
              environment.nodeCopied(context28, tnode62, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/931939946132722361");
              tnode62.setProperty(myProperties[0], "T");
              TemplateContext context29 = context28.subContext();
              {
                final SNode tnode63 = environment.createOutputNode(myConcepts[2]);
                environment.associate(tnode63, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.runtime(MPS.Core/)", "~ILanguageAspect");
                environment.aggregate(tnode62, myAggregationLinks[17], tnode63);
              }
            }
            environment.aggregate(tnode60, myAggregationLinks[18], tnode62);
          }
          {
            final SNode tnode64 = environment.createOutputNode(myConcepts[25]);
            environment.resolveInTemplateLater(tnode64, myAssociationLinks[5], templateNode3, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/931939946132722361", "T", context28);
            environment.aggregate(tnode60, myAggregationLinks[4], tnode64);
          }
          {
            final SNode tnode65 = environment.createOutputNode(myConcepts[21]);
            {
              tnode65.setProperty(myProperties[0], "aspectClass");
              TemplateContext context30 = context28.subContext();
              {
                final SNode tnode66 = environment.createOutputNode(myConcepts[2]);
                {
                  environment.associate(tnode66, myAssociationLinks[0], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Class");
                  TemplateContext context31 = context30.subContext();
                  {
                    final SNode tnode67 = environment.createOutputNode(myConcepts[25]);
                    environment.resolveInTemplateLater(tnode67, myAssociationLinks[5], templateNode4, "tpl/r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508/931939946132722361", "T", context31);
                    environment.aggregate(tnode66, myAggregationLinks[13], tnode67);
                  }
                }
                environment.aggregate(tnode65, myAggregationLinks[2], tnode66);
              }
            }
            environment.aggregate(tnode60, myAggregationLinks[14], tnode65);
          }
          {
            final SNode tnode68 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context32 = context28.subContext();
              {
                Collection<SNode> tlist69 = null;
                TemplateContext context33 = context32.subContext("aspectLoop");
                final SNode tnode70 = environment.createOutputNode(myConcepts[26]);
                {
                  TemplateContext context34 = context33.subContext();
                  {
                    final SNode tnode71 = environment.createOutputNode(myConcepts[8]);
                    {
                      TemplateContext context35 = context34.subContext();
                      {
                        final List<SNode> tlist72 = new ArrayList<SNode>();
                        final Iterable<SNode> loopList72 = QueriesGenerated.sourceNodesQuery_0_1(new SourceSubstituteMacroNodesContext(context35, loopMacroRef1));
                        for (SNode itnode72 : loopList72) {
                          if (itnode72 == null) {
                            continue;
                          }
                          TemplateContext context36 = context35.subContext(itnode72);
                          Collection<SNode> tlist73 = null;
                          TemplateContext context37 = context36;
                          context37 = context37.withVariable("var:model", QueriesGenerated.varMacro_Value_0_0(new TemplateVarContext(context37, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "2409421742521900521"))));
                          Collection<SNode> tlist74 = null;
                          try {
                            TemplateContext switchContext74 = context37;
                            switchContext74 = switchContext74.withVariable("model", ((SModel) switchContext74.getVariable("var:model")));
                            tlist74 = environment.trySwitch(templateSwitchNodeNoInput, switchContext74);
                            if (tlist74 == null) {
                              final SNode tnode75 = environment.createOutputNode(myConcepts[27]);
                              {
                                TemplateContext context38 = context37.subContext();
                                {
                                  final SNode tnode76 = environment.createOutputNode(myConcepts[8]);
                                  environment.aggregate(tnode75, myAggregationLinks[19], tnode76);
                                }
                                {
                                  final SNode tnode77 = environment.createOutputNode(myConcepts[28]);
                                  tnode77.setProperty(myProperties[10], "true");
                                  environment.aggregate(tnode75, myAggregationLinks[20], tnode77);
                                }
                              }
                              tlist74 = TemplateUtil.singletonList(tnode75);
                            }
                          } finally {
                          }
                          tlist73 = tlist74;
                          tlist72.addAll(tlist73);
                        }
                        environment.aggregate(tnode71, myAggregationLinks[9], tlist72);
                      }
                    }
                    environment.aggregate(tnode70, myAggregationLinks[21], tnode71);
                  }
                }
                tlist69 = TemplateUtil.singletonList(tnode70);
                environment.registerLabel(context32.getInput(), tlist69, "aspectLoop");
                environment.aggregate(tnode68, myAggregationLinks[9], tlist69);
              }
              {
                final List<SNode> tlist78 = new ArrayList<SNode>();
                final Iterable<SNode> loopList78 = QueriesGenerated.sourceNodesQuery_0_2(new SourceSubstituteMacroNodesContext(context32, loopMacroRef2));
                for (SNode itnode78 : loopList78) {
                  if (itnode78 == null) {
                    continue;
                  }
                  TemplateContext context39 = context32.subContext(itnode78);
                  Collection<SNode> tlist79 = null;
                  try {
                    TemplateContext switchContext79 = context39;
                    tlist79 = environment.trySwitch(templateSwitchNodeNoInput1, switchContext79);
                    if (tlist79 == null) {
                      final SNode tnode80 = environment.createOutputNode(myConcepts[29]);
                      tlist79 = TemplateUtil.singletonList(tnode80);
                    }
                  } finally {
                  }
                  tlist78.addAll(tlist79);
                }
                environment.aggregate(tnode68, myAggregationLinks[9], tlist78);
              }
              {
                final SNode tnode81 = environment.createOutputNode(myConcepts[19]);
                {
                  TemplateContext context40 = context32.subContext();
                  {
                    final SNode tnode82 = environment.createOutputNode(myConcepts[30]);
                    environment.aggregate(tnode81, myAggregationLinks[12], tnode82);
                  }
                }
                environment.aggregate(tnode68, myAggregationLinks[9], tnode81);
              }
            }
            environment.aggregate(tnode60, myAggregationLinks[10], tnode68);
          }
          {
            final SNode tnode83 = environment.createOutputNode(myConcepts[16]);
            environment.associate(tnode83, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode60, myAggregationLinks[11], tnode83);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode60);
      }
      {
        final SNode tnode84 = environment.createOutputNode(myConcepts[5]);
        environment.aggregate(tnode2, myAggregationLinks[3], tnode84);
      }
      {
        final SNode tnode85 = environment.createOutputNode(myConcepts[14]);
        {
          tnode85.setProperty(myProperties[0], "contribute");
          TemplateContext context41 = context2.subContext();
          {
            final SNode tnode86 = environment.createOutputNode(myConcepts[20]);
            environment.aggregate(tnode85, myAggregationLinks[0], tnode86);
          }
          {
            final SNode tnode87 = environment.createOutputNode(myConcepts[7]);
            environment.aggregate(tnode85, myAggregationLinks[4], tnode87);
          }
          {
            final SNode tnode88 = environment.createOutputNode(myConcepts[21]);
            {
              tnode88.setProperty(myProperties[0], "extensions");
              TemplateContext context42 = context41.subContext();
              {
                final SNode tnode89 = environment.createOutputNode(myConcepts[2]);
                environment.associate(tnode89, myAssociationLinks[0], "6ed54515-acc8-4d1e-a16c-9fd6cfe951ea/java:jetbrains.mps.smodel.language(MPS.Core/)", "~LanguageExtensions");
                environment.aggregate(tnode88, myAggregationLinks[2], tnode89);
              }
              {
                final SNode tnode90 = environment.createOutputNode(myConcepts[16]);
                environment.associate(tnode90, myAssociationLinks[4], "3f233e7f-b8a6-46d2-a57f-795d56775243/java:org.jetbrains.annotations(Annotations/)", "~NotNull");
                environment.aggregate(tnode88, myAggregationLinks[11], tnode90);
              }
            }
            environment.aggregate(tnode85, myAggregationLinks[14], tnode88);
          }
          {
            final SNode tnode91 = environment.createOutputNode(myConcepts[8]);
            {
              TemplateContext context43 = context41.subContext();
              {
                final List<SNode> tlist92 = new ArrayList<SNode>();
                final Iterable<SNode> loopList92 = QueriesGenerated.sourceNodesQuery_0_3(new SourceSubstituteMacroNodesContext(context43, loopMacroRef3));
                for (SNode itnode92 : loopList92) {
                  if (itnode92 == null) {
                    continue;
                  }
                  TemplateContext context44 = context43.subContext(itnode92);
                  Collection<SNode> tlist93 = null;
                  TemplateContext context45 = context44;
                  context45 = context45.withVariable("var:model", QueriesGenerated.varMacro_Value_0_3(new TemplateVarContext(context45, new SNodePointer("r:1dfaf07d-c77a-451e-91d3-b6f80f0f8508(jetbrains.mps.lang.descriptor.generator.template.main@generator)", "3242214770611282315"))));
                  Collection<SNode> tlist94 = null;
                  try {
                    TemplateContext switchContext94 = context45;
                    switchContext94 = switchContext94.withVariable("model", ((SModel) switchContext94.getVariable("var:model")));
                    tlist94 = environment.trySwitch(templateSwitchNodeNoInput2, switchContext94);
                    if (tlist94 == null) {
                      final SNode tnode95 = environment.createOutputNode(myConcepts[19]);
                      tlist94 = TemplateUtil.singletonList(tnode95);
                    }
                  } finally {
                  }
                  tlist93 = tlist94;
                  tlist92.addAll(tlist93);
                }
                environment.aggregate(tnode91, myAggregationLinks[9], tlist92);
              }
            }
            environment.aggregate(tnode85, myAggregationLinks[10], tnode91);
          }
          {
            final SNode tnode96 = environment.createOutputNode(myConcepts[16]);
            environment.associate(tnode96, myAssociationLinks[4], "6354ebe7-c22a-4a0f-ac54-50b52ab9b065/java:java.lang(JDK/)", "~Override");
            environment.aggregate(tnode85, myAggregationLinks[11], tnode96);
          }
        }
        environment.aggregate(tnode2, myAggregationLinks[3], tnode85);
      }
    }
    tlist1 = TemplateUtil.singletonList(tnode2);
    sink.add(null, tlist1);
  }