anchor.diff:  open MonoDevelop.Projects
   open Microsoft.FSharp.Compiler.SourceCodeServices
   
  -type FSharpOutlineTextEditorExtension() = 
  +type FSharpOutlineTextEditorExtension() =
       inherit TextEditorExtension()
       let mutable treeView : PadTreeView option = None
       let mutable refreshingOutline : bool = false
   
  -    override x.Initialize() = 
  +    override x.Initialize() =
           base.Initialize()
           x.DocumentContext.DocumentParsed.Add(x.UpdateDocumentOutline)
  -    
  +
       override x.IsValidInContext _ = true
  -    
  +
       //    IdeApp.Workbench.ActiveDocument <> null && IdeApp.Workbench.ActiveDocument.Name = x.DocumentContext.Name
  -    member private x.UpdateDocumentOutline _ = 
  +    member private x.UpdateDocumentOutline _ =
           if not refreshingOutline then
               refreshingOutline <- true
               GLib.Timeout.Add (1000u, (fun _ -> x.refillTree)) |> ignore
   
  -    member private x.refillTree = 
  +    member private x.refillTree =
           match treeView with
  -        | Some(treeView) -> 
  +        | Some(treeView) ->
               if treeView.IsRealized then
                   let ast = maybe { let! context = x.DocumentContext |> Option.ofNull
                                     let! parsedDocument = context.ParsedDocument |> Option.ofNull
  
positive.code:                 sw.Add padTreeView
                  sw.ShowAll()
                  sw :> Widget
          
          member x.GetToolbarWidgets() = List.empty<Widget> :> _
          member x.ReleaseOutlineWidget() = ()
  
negative.code:                     let iter : TreeIter ref = ref Unchecked.defaultof<_>
                      match padTreeView.Selection.GetSelected(iter) with
                      | true -> let node = padTreeView.Model.GetValue(!iter, 0) :?> FSharpNavigationDeclarationItem
                                let (scol,sline) = node.Range.StartColumn, node.Range.StartLine
                                x.Editor.SetCaretLocation(max 1 sline, max 1 scol, true)
                      | false -> ()
  
                  treeView <- Some padTreeView
  