public Item(SubstituteMenuContext context) {
   super(
       MetaAdapterFactory.getConcept(
           0x18bc659203a64e29L,
           0xa83a7ff23bde13baL,
           0x3ae0865e9a712712L,
           "jetbrains.mps.lang.editor.structure.ExplicitHintsSpecification"),
       context.getParentNode(),
       context.getCurrentTargetNode(),
       context.getEditorContext());
   _context = context;
 }
 @Nullable
 @Override
 protected SubstituteMenuLookup getLookup(SubstituteMenuContext _context) {
   final EditorContext editorContext = _context.getEditorContext();
   return new DefaultSubstituteMenuLookup(
       LanguageRegistry.getInstance(editorContext.getRepository()),
       MetaAdapterFactory.getConcept(
           0x798100da4f0a421aL,
           0xb99171f8c50ce5d2L,
           0x3395e884b61c2404L,
           "jetbrains.mps.build.structure.BuildSource_JavaCP"));
 }
 @Nullable
 @Override
 protected Iterable<? extends SNode> getParameters(SubstituteMenuContext _context) {
   // TODO: Use link scopes here
   List<SNode> result = ListSequence.fromList(new ArrayList<SNode>());
   Set<SModel> allVisibleModels =
       SetSequence.fromSetWithValues(
           new HashSet<SModel>(),
           (List<SModel>) SModelOperations.allImportedModels(_context.getModel()));
   SetSequence.fromSet(allVisibleModels).addElement(_context.getModel());
   for (SModel nextModel : SetSequence.fromSet(allVisibleModels)) {
     ListSequence.fromList(result)
         .addSequence(
             ListSequence.fromList(
                 jetbrains.mps.lang.smodel.generator.smodelAdapter.SModelOperations.nodes(
                     nextModel,
                     MetaAdapterFactory.getConcept(
                         0x18bc659203a64e29L,
                         0xa83a7ff23bde13baL,
                         0x527faacef50d095eL,
                         "jetbrains.mps.lang.editor.structure.ConceptEditorHintDeclaration"))));
   }
   return result;
 }