anchor.diff:                  |> ignore
   
               | Refactoring.SymbolDeclarationLocation.External docId ->
  -                if (editor <> null) then
  -                    editor.RunWhenLoaded (fun () ->
  -                        //this is the assembly browser widget
  -                        let handler = editor.GetContent<MonoDevelop.Ide.Gui.Content.IOpenNamedElementHandler> ()
  -                        if handler <> null then handler.Open (docId))
  +                match symbolUse.Assembly.FileName with
  +                | Some filename ->
  +                    IdeApp.ProjectOperations.JumpToMetadata(filename, docId)
  +                | None -> 
  +                    ()
               | _ -> ()    
   
                   
  
positive.code:                                     match bs with
                                      | Refactoring.BaseSymbol.Member m -> m :> FSharpSymbol
                                      | Refactoring.BaseSymbol.Type t -> t :> FSharpSymbol
  
                                  let locations = Symbols.getLocationFromSymbol symbol
                                  match locations with
                                  | [] -> ()
                                  | [location] -> 
                                      let description = GettextCatalog.GetString ("Go to _Base Symbol")
                                      ainfo.Add (description, Action (fun () -> FSharpRefactoring(doc.Editor, doc).JumpTo (lastIdent, symbol, location)))
                                      |> ignore
                                      
                                  | locations ->
                                      let declSet = CommandInfoSet (Text = GettextCatalog.GetString ("Go to _Base Symbol"))
                                      for location in locations do
                                          let commandText = String.Format (GettextCatalog.GetString ("{0}, Line {1}"), formatFileName location.FileName, location.StartLine)
                                          declSet.CommandInfos.Add (commandText, Action (fun () -> FSharpRefactoring(doc.Editor, doc).JumpTo (lastIdent, symbol, location)))
                                          |> ignore
                                      ainfo.Add (declSet)
                              | _ -> ()
  
negative.code:         base.Update (ci)
            
      override x.Update (ainfo:CommandArrayInfo) =
          match tryGetValidDoc() with
          | None -> ()
          | Some doc ->
              if not (MDLanguageService.SupportedFileName (doc.FileName.ToString())) then ()
  