@Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x2724644c0ac833a5L, 0x2724644c0ac833a6L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x2724644c0ac833a5L, 0x2724644c0ac833a6L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public boolean hasPresentation() {
                return true;
              }

              @Override
              public String getPresentation(
                  final IOperationContext operationContext,
                  final ReferencePresentationContext _context) {
                return SPropertyOperations.getString(
                        _context.getParameterNode(),
                        MetaAdapterFactory.getProperty(
                            0xceab519525ea4f22L,
                            0x9b92103b95ca8c0cL,
                            0x110396eaaa4L,
                            0x110396ec041L,
                            "name"))
                    + "()";
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_puti1i_a0a2a0a0a1a0b0a1a1;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return ClassifierScopes.getVisibleClassifiersWithDefaultConstructors(
                    _context.getContextNode());
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0x132aa4d8a3f7441cL, 0xa7eb3fce23492c6aL, 0x4b4c01fdd9029ce4L, 0x4b4c01fdd9029ce5L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0x132aa4d8a3f7441cL, 0xa7eb3fce23492c6aL, 0x4b4c01fdd9029ce4L, 0x4b4c01fdd9029ce5L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return SLinkOperations.getChildren(
                    BaseSimpleBuilderDeclaration__BehaviorDescriptor
                        .getContextDeclaration_id5rdgdYBzN9n.invoke(
                        SNodeOperations.getNodeAncestor(
                            _context.getEnclosingNode(),
                            MetaAdapterFactory.getConcept(
                                0x132aa4d8a3f7441cL,
                                0xa7eb3fce23492c6aL,
                                0x56cd40dfa78d35b1L,
                                "jetbrains.mps.baseLanguage.builders.structure.BaseSimpleBuilderDeclaration"),
                            true,
                            false)),
                    MetaAdapterFactory.getContainmentLink(
                        0x132aa4d8a3f7441cL,
                        0xa7eb3fce23492c6aL,
                        0x6524536b2e1a1e38L,
                        0x4b4c01fdd9010b91L,
                        "parameter"));
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_seakpt_a0a1a0a0a1a0b0a1a1;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457446L, 0xa99ffe1c8457447L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0x530533eef7894c1eL, 0xba56de1bbf3afda7L, 0xa99ffe1c8457446L, 0xa99ffe1c8457447L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return SLinkOperations.getChildren(
                    AbstractStateMachineElement__BehaviorDescriptor.getStateMachine_id6SYFRDkTQVW
                        .invoke(
                            SNodeOperations.cast(
                                _context.getEnclosingNode(),
                                MetaAdapterFactory.getConcept(
                                    0x530533eef7894c1eL,
                                    0xba56de1bbf3afda7L,
                                    0xa99ffe1c845743dL,
                                    "jetbrains.mps.samples.multipleProjections.stateMachine.structure.Transition"))),
                    MetaAdapterFactory.getContainmentLink(
                        0x530533eef7894c1eL,
                        0xba56de1bbf3afda7L,
                        0xa99ffe1c8456ba1L,
                        0xa99ffe1c8456ba3L,
                        "events"));
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_fz49k4_a0a1a0a0a1a0b0a1a3;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0x18bc659203a64e29L,
            0xa83a7ff23bde13baL,
            0x5d3b34577b3cff09L,
            0x5d3b34577b3cff0aL,
            "menu"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x5d3b34577b3cff09L, 0x5d3b34577b3cff0aL),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_bj2kbe_a0a0a0a0a1a0b0a1a3;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                {
                  Scope scope =
                      Scope.getScope(
                          _context.getContextNode(),
                          _context.getContextRole(),
                          _context.getPosition(),
                          _context.getLinkTarget());
                  if (scope == null) {
                    return MenuScopes.getNamedMenus(
                        _context.getContextNode(),
                        _context.getContextRole(),
                        _context.getPosition(),
                        MetaAdapterFactory.getConcept(
                            0x18bc659203a64e29L,
                            0xa83a7ff23bde13baL,
                            0x4e0f93d8a0ac4ee8L,
                            "jetbrains.mps.lang.editor.structure.TransformationMenu_Named"));
                  }
                  return scope;
                }
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0x698a8d22a10447a0L,
            0xba8d10e3ec237f13L,
            0x2670d5989d5b49b8L,
            0x2670d5989d5b49b9L,
            "target"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0x698a8d22a10447a0L, 0xba8d10e3ec237f13L, 0x2670d5989d5b49b8L, 0x2670d5989d5b49b9L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_45r57v_a0a0a0a0a1a0b0a1a3;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                {
                  Scope scope =
                      Scope.getScope(
                          _context.getContextNode(),
                          _context.getContainmentLink(),
                          _context.getPosition(),
                          MetaAdapterFactory.getConcept(
                              0x698a8d22a10447a0L,
                              0xba8d10e3ec237f13L,
                              0x2670d5989d5a6275L,
                              "jetbrains.mps.build.workflow.structure.BwfSubTask"));
                  return (scope == null ? new EmptyScope() : scope);
                }
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xd3c5a46fb8c247dbL, 0xad0a30b8f19c2055L, 0x3e81ed1e2be77cb7L, 0x3e81ed1e2be77cc0L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xd3c5a46fb8c247dbL, 0xad0a30b8f19c2055L, 0x3e81ed1e2be77cb7L, 0x3e81ed1e2be77cc0L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return new ModelAndImportedModelsScope(_context.getModel(), true);
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_d3a0zo_a0a1a0a0a1a0b0a1a1;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xd7722d504b934c3aL, 0xae061903d05f95a7L, 0x1e3b9cbb9f7493c2L, 0x1e3b9cbb9f7493f7L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xd7722d504b934c3aL, 0xae061903d05f95a7L, 0x1e3b9cbb9f7493c2L, 0x1e3b9cbb9f7493f7L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_8qo5s5_a0a0a0a0a1a0b0a1a2;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return new ExternalViewClassifierScope(_context.getModel());
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0xdcb5a83a19a844ffL,
            0xa4cbfc7d324ecc63L,
            0x1f6c736337b5e2d8L,
            0x1f6c736337b5e2dcL,
            "rule"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xdcb5a83a19a844ffL, 0xa4cbfc7d324ecc63L, 0x1f6c736337b5e2d8L, 0x1f6c736337b5e2dcL),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return SNodeOperations.getNodeDescendants(
                    SNodeOperations.getContainingRoot(_context.getEnclosingNode()),
                    MetaAdapterFactory.getConcept(
                        0xdcb5a83a19a844ffL,
                        0xa4cbfc7d324ecc63L,
                        0x1f6c736337b5e2f2L,
                        "jetbrains.mps.core.xml.sax.structure.XMLSAXNodeRule"),
                    false,
                    new SAbstractConcept[] {});
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_1y346m_a0a1a0a0a1a0b0a1a3;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0x798100da4f0a421aL, 0xb99171f8c50ce5d2L, 0x4ddcec86af9fdb53L, 0x4ddcec86af9fdb55L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0x798100da4f0a421aL, 0xb99171f8c50ce5d2L, 0x4ddcec86af9fdb53L, 0x4ddcec86af9fdb55L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public boolean hasPresentation() {
                return true;
              }

              @Override
              public String getPresentation(
                  final IOperationContext operationContext,
                  final ReferencePresentationContext _context) {
                SNode contextProject =
                    SNodeOperations.getNodeAncestor(
                        _context.getContextNode(),
                        MetaAdapterFactory.getConcept(
                            0x798100da4f0a421aL,
                            0xb99171f8c50ce5d2L,
                            0x4df58c6f18f84a13L,
                            "jetbrains.mps.build.structure.BuildProject"),
                        true,
                        false);
                String target = null;
                if ((contextProject != null)) {
                  Scope importedArtifactsScope =
                      ScopeUtil.getVisibleArtifactsScope(contextProject, true);
                  if (importedArtifactsScope != null
                      && !(importedArtifactsScope instanceof ModelPlusImportedScope)) {
                    target =
                        importedArtifactsScope.getReferenceText(
                            _context.getContextNode(), _context.getParameterNode());
                  }
                }
                if (target == null) {
                  target =
                      BaseConcept_BehaviorDescriptor.getPresentation_idhEwIMiw.invoke(
                          _context.getParameterNode());
                }
                return (_context.getSmartReference() ? "import " + target : target);
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_cl5pbm_a0a2a0a0a1a0b0a1a1;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                {
                  SNode contextProject =
                      SNodeOperations.getNodeAncestor(
                          _context.getContextNode(),
                          MetaAdapterFactory.getConcept(
                              0x798100da4f0a421aL,
                              0xb99171f8c50ce5d2L,
                              0x4df58c6f18f84a13L,
                              "jetbrains.mps.build.structure.BuildProject"),
                          true,
                          false);
                  if ((contextProject != null)) {
                    return new FilteringScope(
                        ScopeUtil.getVisibleArtifactsScope(contextProject, true)) {
                      @Override
                      public boolean isExcluded(SNode node) {
                        return !(SNodeOperations.isInstanceOf(
                            node,
                            MetaAdapterFactory.getInterfaceConcept(
                                0x798100da4f0a421aL,
                                0xb99171f8c50ce5d2L,
                                0x4140393b234482c3L,
                                "jetbrains.mps.build.structure.BuildLayout_Container")));
                      }
                    };
                  }
                  return new ModelPlusImportedScope(
                      _context.getModel(),
                      false,
                      MetaAdapterFactory.getConcept(
                          0x798100da4f0a421aL,
                          0xb99171f8c50ce5d2L,
                          0x668c6cfbafac4c85L,
                          "jetbrains.mps.build.structure.BuildLayout_Node"));
                }
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0xb401a68083254110L,
            0x8fd384331ff25befL,
            0x40be82ad503b3c88L,
            0x40be82ad503b3ec4L,
            "patternVarDecl"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xb401a68083254110L, 0x8fd384331ff25befL, 0x40be82ad503b3c88L, 0x40be82ad503b3ec4L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                List<SNode> result = new ArrayList<SNode>();
                SNode rule =
                    SNodeOperations.getNodeAncestor(
                        _context.getEnclosingNode(),
                        MetaAdapterFactory.getConcept(
                            0xb401a68083254110L,
                            0x8fd384331ff25befL,
                            0x190d31fe6a12ebb4L,
                            "jetbrains.mps.lang.generator.structure.PatternReduction_MappingRule"),
                        false,
                        false);
                if ((rule != null)
                    && (SLinkOperations.getTarget(
                            rule,
                            MetaAdapterFactory.getContainmentLink(
                                0xb401a68083254110L,
                                0x8fd384331ff25befL,
                                0x190d31fe6a12ebb4L,
                                0x190d31fe6a13891aL,
                                "pattern"))
                        != null)) {
                  ListSequence.fromList(result)
                      .addSequence(
                          ListSequence.fromList(
                              SNodeOperations.getNodeDescendants(
                                  SLinkOperations.getTarget(
                                      rule,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0x190d31fe6a12ebb4L,
                                          0x190d31fe6a13891aL,
                                          "pattern")),
                                  MetaAdapterFactory.getConcept(
                                      0xd4615e3bd6714ba9L,
                                      0xaf012b78369b0ba7L,
                                      0x108a9cb4793L,
                                      "jetbrains.mps.lang.pattern.structure.PatternVariableDeclaration"),
                                  false,
                                  new SAbstractConcept[] {})));
                }
                return result;
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_u4q1ju_a0a1a0a0a1a0b0a1a5;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x2b7df577ffbb6a85L, 0x2b7df577ffbb6a86L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xd4615e3bd6714ba9L, 0xaf012b78369b0ba7L, 0x2b7df577ffbb6a85L, 0x2b7df577ffbb6a86L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                List<SNode> result = new ArrayList<SNode>();
                for (SNode declaration :
                    SNodeOperations.getNodeDescendants(
                        SNodeOperations.getNodeAncestor(
                            _context.getEnclosingNode(),
                            MetaAdapterFactory.getConcept(
                                0xd4615e3bd6714ba9L,
                                0xaf012b78369b0ba7L,
                                0x108a9cb4791L,
                                "jetbrains.mps.lang.pattern.structure.PatternExpression"),
                            false,
                            false),
                        MetaAdapterFactory.getConcept(
                            0xd4615e3bd6714ba9L,
                            0xaf012b78369b0ba7L,
                            0x108a9cb4793L,
                            "jetbrains.mps.lang.pattern.structure.PatternVariableDeclaration"),
                        false,
                        new SAbstractConcept[] {})) {
                  if (SPropertyOperations.getString(
                          declaration,
                          MetaAdapterFactory.getProperty(
                              0xceab519525ea4f22L,
                              0x9b92103b95ca8c0cL,
                              0x110396eaaa4L,
                              0x110396ec041L,
                              "name"))
                      != null) {
                    ListSequence.fromList(result).addElement(declaration);
                  }
                }
                return result;
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_fw8caj_a0a1a0a0a1a0b0a1a3;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0xf3061a5392264cc5L,
            0xa443f952ceaf5816L,
            0xf93d4da00cL,
            0x1136d9d21b3L,
            "classConcept"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0xf93d4da00cL, 0x1136d9d21b3L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_cfy36u_a0a0a0a0a1a0b0a1a5;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                if (!(SNodeOperations.isInstanceOf(
                    _context.getReferenceNode(),
                    MetaAdapterFactory.getConcept(
                        0xf3061a5392264cc5L,
                        0xa443f952ceaf5816L,
                        0xf93d4da00cL,
                        "jetbrains.mps.baseLanguage.structure.ThisExpression")))) {
                  return new EmptyScope();
                }
                return new NamedElementsScope(
                    ThisExpression__BehaviorDescriptor.getPossibleClassifiers_idhGcjiYt.invoke(
                        SNodeOperations.cast(
                            _context.getReferenceNode(),
                            MetaAdapterFactory.getConcept(
                                0xf3061a5392264cc5L,
                                0xa443f952ceaf5816L,
                                0xf93d4da00cL,
                                "jetbrains.mps.baseLanguage.structure.ThisExpression")))) {
                  @Nullable
                  @Override
                  public SNode resolve(SNode contextNode, @NotNull String refText) {
                    String packageName =
                        jetbrains.mps.util.SNodeOperations.getModelLongName(
                                SNodeOperations.getModel(contextNode))
                            + ".";
                    if (refText.startsWith(packageName)) {
                      refText = refText.substring(packageName.length());
                    }
                    return super.resolve(contextNode, refText);
                  }
                };
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xc7d5b9dda05f4be2L, 0xbc73f2e16994cc67L, 0x340eb2bd2e03d160L, 0x1955e1ca83e5ed92L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xc7d5b9dda05f4be2L, 0xbc73f2e16994cc67L, 0x340eb2bd2e03d160L, 0x1955e1ca83e5ed92L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_664l29_a0a0a0a0a1a0b0a1a3;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return new FilteringScope(
                    new ConceptsScope(
                        _context.getContextNode(),
                        MetaAdapterFactory.getConcept(
                            0xc72da2b97cce4447L,
                            0x8389f407dc1158b7L,
                            0x1103553c5ffL,
                            "jetbrains.mps.lang.structure.structure.AbstractConceptDeclaration"))) {
                  @Override
                  public boolean isExcluded(SNode node) {
                    if (!(SNodeOperations.isInstanceOf(
                        node,
                        MetaAdapterFactory.getConcept(
                            0xc72da2b97cce4447L,
                            0x8389f407dc1158b7L,
                            0x1103553c5ffL,
                            "jetbrains.mps.lang.structure.structure.AbstractConceptDeclaration")))) {
                      return false;
                    }
                    return !((AbstractConceptDeclaration_Behavior
                        .call_isSubconceptOf_8134325418312549386(
                            SNodeOperations.cast(
                                node,
                                MetaAdapterFactory.getConcept(
                                    0xc72da2b97cce4447L,
                                    0x8389f407dc1158b7L,
                                    0x1103553c5ffL,
                                    "jetbrains.mps.lang.structure.structure.AbstractConceptDeclaration")),
                            SNodeOperations.getNode(
                                "r:00000000-0000-4000-0000-011c895902ca(jetbrains.mps.baseLanguage.structure)",
                                "1068390468198"))));
                  }
                };
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0xcf935df46994e9cL,
            0xa132fa109541cba3L,
            0x5b7be37b4deb1201L,
            0x5b7be37b4deb1202L,
            "group"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xcf935df46994e9cL, 0xa132fa109541cba3L, 0x5b7be37b4deb1201L, 0x5b7be37b4deb1202L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public boolean hasPresentation() {
                return true;
              }

              @Override
              public String getPresentation(
                  final IOperationContext operationContext,
                  final ReferencePresentationContext _context) {
                if (SNodeOperations.getContainingRoot(_context.getParameterNode())
                    != SNodeOperations.getContainingRoot(_context.getContextNode())) {
                  SNode proj =
                      SNodeOperations.as(
                          SNodeOperations.getContainingRoot(_context.getParameterNode()),
                          MetaAdapterFactory.getConcept(
                              0x798100da4f0a421aL,
                              0xb99171f8c50ce5d2L,
                              0x4df58c6f18f84a13L,
                              "jetbrains.mps.build.structure.BuildProject"));
                  if (proj != null) {
                    return SPropertyOperations.getString(
                            proj,
                            MetaAdapterFactory.getProperty(
                                0xceab519525ea4f22L,
                                0x9b92103b95ca8c0cL,
                                0x110396eaaa4L,
                                0x110396ec041L,
                                "name"))
                        + "/"
                        + SPropertyOperations.getString(
                            _context.getParameterNode(),
                            MetaAdapterFactory.getProperty(
                                0xceab519525ea4f22L,
                                0x9b92103b95ca8c0cL,
                                0x110396eaaa4L,
                                0x110396ec041L,
                                "name"));
                  }
                }
                return SPropertyOperations.getString(
                    _context.getParameterNode(),
                    MetaAdapterFactory.getProperty(
                        0xceab519525ea4f22L,
                        0x9b92103b95ca8c0cL,
                        0x110396eaaa4L,
                        0x110396ec041L,
                        "name"));
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_h6r07b_a0a2a0a0a1a0b0a1a3;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                {
                  Scope scope =
                      Scope.getScope(
                          _context.getContextNode(),
                          _context.getContainmentLink(),
                          _context.getPosition(),
                          MetaAdapterFactory.getConcept(
                              0xcf935df46994e9cL,
                              0xa132fa109541cba3L,
                              0x14d3fb6fb843ebddL,
                              "jetbrains.mps.build.mps.structure.BuildMps_Group"));
                  return (scope == null ? new EmptyScope() : scope);
                }
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLink, ReferenceConstraintsDescriptor> getSpecifiedReferences() {
    Map<SReferenceLink, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLink, ReferenceConstraintsDescriptor>();
    references.put(
        MetaAdapterFactory.getReferenceLink(
            0xf3061a5392264cc5L,
            0xa443f952ceaf5816L,
            0x11857355952L,
            0xf8c78301adL,
            "baseMethodDeclaration"),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xf3061a5392264cc5L, 0xa443f952ceaf5816L, 0x11857355952L, 0xf8c78301adL),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_w9prmd_a0a0a0a0a1a0b0a1a3;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                {
                  if (!(SNodeOperations.isInstanceOf(
                      _context.getEnclosingNode(),
                      MetaAdapterFactory.getConcept(
                          0xf3061a5392264cc5L,
                          0xa443f952ceaf5816L,
                          0x116b46a08c4L,
                          "jetbrains.mps.baseLanguage.structure.DotExpression")))) {
                    return new EmptyScope();
                  }
                  SNode instance =
                      SLinkOperations.getTarget(
                          SNodeOperations.cast(
                              _context.getEnclosingNode(),
                              MetaAdapterFactory.getConcept(
                                  0xf3061a5392264cc5L,
                                  0xa443f952ceaf5816L,
                                  0x116b46a08c4L,
                                  "jetbrains.mps.baseLanguage.structure.DotExpression")),
                          MetaAdapterFactory.getContainmentLink(
                              0xf3061a5392264cc5L,
                              0xa443f952ceaf5816L,
                              0x116b46a08c4L,
                              0x116b46a4416L,
                              "operand"));
                  SNode classifierType =
                      TypeChecker.getInstance()
                          .getRuntimeSupport()
                          .coerce_(
                              TypeChecker.getInstance().getTypeOf(instance),
                              HUtil.createMatchingPatternByConcept(
                                  MetaAdapterFactory.getConcept(
                                      0xf3061a5392264cc5L,
                                      0xa443f952ceaf5816L,
                                      0x101de48bf9eL,
                                      "jetbrains.mps.baseLanguage.structure.ClassifierType")),
                              false);
                  if ((SLinkOperations.getTarget(
                          classifierType,
                          MetaAdapterFactory.getReferenceLink(
                              0xf3061a5392264cc5L,
                              0xa443f952ceaf5816L,
                              0x101de48bf9eL,
                              0x101de490babL,
                              "classifier"))
                      == null)) {
                    return new EmptyScope();
                  }
                  return new MethodsScope(
                      classifierType,
                      Members.visibleInstanceMethods(classifierType, _context.getContextNode()));
                }
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xb401a68083254110L, 0x8fd384331ff25befL, 0x10313ed7688L, 0x1031947e414L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xb401a68083254110L, 0x8fd384331ff25befL, 0x10313ed7688L, 0x1031947e414L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_phmuaq_a0a0a0a0a1a0b0a1a1;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                return new FilteringScope(
                    new ModelPlusImportedScope(
                        _context.getModel(),
                        true,
                        MetaAdapterFactory.getConcept(
                            0xb401a68083254110L,
                            0x8fd384331ff25befL,
                            0x10313ed7688L,
                            "jetbrains.mps.lang.generator.structure.TemplateSwitch"))) {
                  @Override
                  public boolean isExcluded(SNode node) {
                    if (node == _context.getContextNode()) {
                      return true;
                    }
                    // allow to modify/extend switches that accept exactly same parameters only, not
                    // superset therof.
                    // the reason is sub-switch may be invoked directly, while the rules of its
                    // parent would expect more parameters than there're actually
                    SNode contributor =
                        SNodeOperations.cast(
                            _context.getContextNode(),
                            MetaAdapterFactory.getConcept(
                                0xb401a68083254110L,
                                0x8fd384331ff25befL,
                                0x10313ed7688L,
                                "jetbrains.mps.lang.generator.structure.TemplateSwitch"));
                    SNode originCandidate =
                        SNodeOperations.cast(
                            node,
                            MetaAdapterFactory.getConcept(
                                0xb401a68083254110L,
                                0x8fd384331ff25befL,
                                0x10313ed7688L,
                                "jetbrains.mps.lang.generator.structure.TemplateSwitch"));
                    if (ListSequence.fromList(
                                SLinkOperations.getChildren(
                                    originCandidate,
                                    MetaAdapterFactory.getContainmentLink(
                                        0xb401a68083254110L,
                                        0x8fd384331ff25befL,
                                        0xda3dc6e5137e9b1L,
                                        0xda3dc6e5137ea56L,
                                        "parameter")))
                            .count()
                        != ListSequence.fromList(
                                SLinkOperations.getChildren(
                                    contributor,
                                    MetaAdapterFactory.getContainmentLink(
                                        0xb401a68083254110L,
                                        0x8fd384331ff25befL,
                                        0xda3dc6e5137e9b1L,
                                        0xda3dc6e5137ea56L,
                                        "parameter")))
                            .count()) {
                      return true;
                    }
                    for (int i = 0;
                        i
                            < ListSequence.fromList(
                                    SLinkOperations.getChildren(
                                        contributor,
                                        MetaAdapterFactory.getContainmentLink(
                                            0xb401a68083254110L,
                                            0x8fd384331ff25befL,
                                            0xda3dc6e5137e9b1L,
                                            0xda3dc6e5137ea56L,
                                            "parameter")))
                                .count();
                        i++) {
                      SNode p1 =
                          ListSequence.fromList(
                                  SLinkOperations.getChildren(
                                      contributor,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0xda3dc6e5137e9b1L,
                                          0xda3dc6e5137ea56L,
                                          "parameter")))
                              .getElement(i);
                      SNode p2 =
                          ListSequence.fromList(
                                  SLinkOperations.getChildren(
                                      originCandidate,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0xda3dc6e5137e9b1L,
                                          0xda3dc6e5137ea56L,
                                          "parameter")))
                              .getElement(i);
                      if (!(SPropertyOperations.getString(
                              p1,
                              MetaAdapterFactory.getProperty(
                                  0xceab519525ea4f22L,
                                  0x9b92103b95ca8c0cL,
                                  0x110396eaaa4L,
                                  0x110396ec041L,
                                  "name"))
                          .equals(
                              SPropertyOperations.getString(
                                  p2,
                                  MetaAdapterFactory.getProperty(
                                      0xceab519525ea4f22L,
                                      0x9b92103b95ca8c0cL,
                                      0x110396eaaa4L,
                                      0x110396ec041L,
                                      "name"))))) {
                        return true;
                      }
                      // contributor's parameter types shall be same or narrow (sic!) than that of
                      // modified switch
                      // so that contributed rules can't expect too much from actual arguments
                      return !((TypeChecker.getInstance()
                              .getSubtypingManager()
                              .isSubtype(
                                  SLinkOperations.getTarget(
                                      p2,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0x190d31fe6a0962e6L,
                                          0x190d31fe6a096acfL,
                                          "type")),
                                  SLinkOperations.getTarget(
                                      p1,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0x190d31fe6a0962e6L,
                                          0x190d31fe6a096acfL,
                                          "type")))
                          && TypeChecker.getInstance()
                              .getSubtypingManager()
                              .isSubtype(
                                  SLinkOperations.getTarget(
                                      p1,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0x190d31fe6a0962e6L,
                                          0x190d31fe6a096acfL,
                                          "type")),
                                  SLinkOperations.getTarget(
                                      p2,
                                      MetaAdapterFactory.getContainmentLink(
                                          0xb401a68083254110L,
                                          0x8fd384331ff25befL,
                                          0x190d31fe6a0962e6L,
                                          0x190d31fe6a096acfL,
                                          "type")))));
                    }
                    return false;
                  }
                };
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x25c655ce6e80fdd8L, 0x25c655ce6e80fddaL),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xd7706f639be2479cL, 0xa3daae92af1e64d5L, 0x25c655ce6e80fdd8L, 0x25c655ce6e80fddaL),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseReferenceScopeProvider() {
              @Override
              public boolean hasPresentation() {
                return true;
              }

              @Override
              public String getPresentation(
                  final IOperationContext operationContext,
                  final ReferencePresentationContext _context) {
                return SPropertyOperations.getString(
                    _context.getParameterNode(),
                    MetaAdapterFactory.getProperty(
                        0xceab519525ea4f22L,
                        0x9b92103b95ca8c0cL,
                        0x110396eaaa4L,
                        0x110396ec041L,
                        "name"));
              }

              @Override
              public Object createSearchScopeOrListOfNodes(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                SNode contextNode =
                    (_context.getReferenceNode() == null
                        ? _context.getEnclosingNode()
                        : _context.getReferenceNode());
                List<SNode> vars = new ArrayList<SNode>();
                while ((contextNode != null)) {
                  if (SNodeOperations.isInstanceOf(
                      contextNode,
                      MetaAdapterFactory.getConcept(
                          0xb401a68083254110L,
                          0x8fd384331ff25befL,
                          0x45991daad6a3d34eL,
                          "jetbrains.mps.lang.generator.structure.VarMacro"))) {
                    ListSequence.fromList(vars)
                        .addElement(
                            SNodeOperations.cast(
                                contextNode,
                                MetaAdapterFactory.getConcept(
                                    0xb401a68083254110L,
                                    0x8fd384331ff25befL,
                                    0x45991daad6a3d34eL,
                                    "jetbrains.mps.lang.generator.structure.VarMacro")));
                  }
                  contextNode = TraverseUtil.parent(contextNode);
                }
                return vars;
              }

              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_m6rnzp_a0a3a0a0a1a0b0a1a1;
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x3744c0f9eae0a402L, 0x3744c0f9eae0b8d3L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0x18bc659203a64e29L, 0xa83a7ff23bde13baL, 0x3744c0f9eae0a402L, 0x3744c0f9eae0b8d3L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_ydnl2u_a0a0a0a0a1a0b0a1a1;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                {
                  List<Language> languages = SModelOperations.getLanguages(_context.getModel());
                  List<SModel> models = ListSequence.fromList(new ArrayList<SModel>());
                  ListSequence.fromList(models).addElement(_context.getModel());
                  ListSequence.fromList(models)
                      .addSequence(
                          ListSequence.fromList(
                              SModelOperations.allImportedModels(_context.getModel())));
                  ListSequence.fromList(models)
                      .addSequence(
                          ListSequence.fromList(languages)
                              .select(
                                  new ISelector<Language, SModel>() {
                                    public SModel select(Language it) {
                                      return LanguageAspect.EDITOR.get(it);
                                    }
                                  }));
                  return new ModelsScope(
                      models,
                      false,
                      MetaAdapterFactory.getConcept(
                          0x18bc659203a64e29L,
                          0xa83a7ff23bde13baL,
                          0x3744c0f9ea5367ebL,
                          "jetbrains.mps.lang.editor.structure.StyleAttributeDeclaration"));
                }
              }
            };
          }
        });
    return references;
  }
  @Override
  protected Map<SReferenceLinkId, ReferenceConstraintsDescriptor> getNotDefaultSReferenceLinks() {
    Map<SReferenceLinkId, ReferenceConstraintsDescriptor> references =
        new HashMap<SReferenceLinkId, ReferenceConstraintsDescriptor>();
    references.put(
        MetaIdFactory.refId(
            0xa5e4de5346a344daL, 0xaab368fdf1c34ed0L, 0x4d7759afce9587a7L, 0x4d7759afce9587a8L),
        new BaseReferenceConstraintsDescriptor(
            MetaIdFactory.refId(
                0xa5e4de5346a344daL, 0xaab368fdf1c34ed0L, 0x4d7759afce9587a7L, 0x4d7759afce9587a8L),
            this) {
          @Override
          public boolean hasOwnScopeProvider() {
            return true;
          }

          @Nullable
          @Override
          public ReferenceScopeProvider getScopeProvider() {
            return new BaseScopeProvider() {
              @Override
              public SNodeReference getSearchScopeValidatorNode() {
                return breakingNode_tpbdkp_a0a0a0a0a1a0b0a1a3;
              }

              @Override
              public Scope createScope(
                  final IOperationContext operationContext,
                  final ReferenceConstraintsContext _context) {
                if (SNodeOperations.isInstanceOf(
                    _context.getEnclosingNode(),
                    MetaAdapterFactory.getConcept(
                        0xa5e4de5346a344daL,
                        0xaab368fdf1c34ed0L,
                        0x4d7759afce9587adL,
                        "jetbrains.mps.console.ideCommands.structure.CallActionExpression"))) {
                  return new NamedElementsScope(
                      ListSequence.fromList(
                              SNodeOperations.getChildren(
                                  SLinkOperations.getTarget(
                                      SNodeOperations.cast(
                                          _context.getEnclosingNode(),
                                          MetaAdapterFactory.getConcept(
                                              0xa5e4de5346a344daL,
                                              0xaab368fdf1c34ed0L,
                                              0x4d7759afce9587adL,
                                              "jetbrains.mps.console.ideCommands.structure.CallActionExpression")),
                                      MetaAdapterFactory.getReferenceLink(
                                          0xa5e4de5346a344daL,
                                          0xaab368fdf1c34ed0L,
                                          0x4d7759afce9587adL,
                                          0x4d7759afce9587aeL,
                                          "action"))))
                          .where(
                              new IWhereFilter<SNode>() {
                                public boolean accept(SNode it) {
                                  return SNodeOperations.isInstanceOf(
                                      it,
                                      MetaAdapterFactory.getConcept(
                                          0x28f9e4973b424291L,
                                          0xaeba0a1039153ab1L,
                                          0x11b69e025e0L,
                                          "jetbrains.mps.lang.plugin.structure.ActionDataParameterDeclaration"));
                                }
                              })
                          .select(
                              new ISelector<SNode, SNode>() {
                                public SNode select(SNode it) {
                                  return SNodeOperations.cast(
                                      it,
                                      MetaAdapterFactory.getConcept(
                                          0x28f9e4973b424291L,
                                          0xaeba0a1039153ab1L,
                                          0x11b69e025e0L,
                                          "jetbrains.mps.lang.plugin.structure.ActionDataParameterDeclaration"));
                                }
                              }));
                }
                return null;
              }
            };
          }
        });
    return references;
  }