anchor.diff:                      sourceText.WithChanges [| 
                           TextChange (TextSpan (startOffset, endOffset - startOffset), change.NewText) 
                       |]
  -            workspace.OnDocumentChanged (docId, sourceText)
  +            self.OnDocumentChanged (docId, sourceText)
           | None -> ()
       }
   
  -    member __.UpdateBuffer (bufferChange:BufferUpdate) = async {
  +    member self.UpdateBuffer (bufferChange:BufferUpdate) = async {
           if isNull bufferChange.FileName then () else
  -        let documentIds = workspace.CurrentSolution.GetDocumentIdsWithFilePath bufferChange.FileName
  +        let documentIds = self.CurrentSolution.GetDocumentIdsWithFilePath bufferChange.FileName
           if not documentIds.IsEmpty then
               for docId in documentIds do
  -                let doc = workspace.CurrentSolution.GetDocument docId
  +                let doc = self.CurrentSolution.GetDocument docId
                   let! sourceText = doc.GetTextAsync () |> Async.AwaitTask
                   let startOffset =
                       sourceText.Lines.GetPosition ^ LinePosition (bufferChange.StartLine, bufferChange.StartLine)
  
positive.code:             | _, _ -> loop dirInfo.Parent
          loop dirInfo :> _ seq
  
  
      interface IDisposable with
          member __.Dispose() =
              subscriptions |> Seq.iter dispose
              subscriptions.Clear ()
  
  
negative.code:                     sourceText.WithChanges [| 
                          TextChange (TextSpan (startOffset, endOffset - startOffset), bufferChange.NewText) 
                      |]
                  self.OnDocumentChanged (docId, sourceText)
          else
              tryAddTransientDocument bufferChange.FileName bufferChange.NewText |> ignore
      }
  
      member self.OnWorkspaceChanged (args:WorkspaceChangeEventArgs) =
          let filename =
              match args.Kind with
              | WorkspaceChangeKind.DocumentAdded   -> (args.NewSolution.GetDocument args.DocumentId).FilePath
  