anchor.diff:  
       let getClassificationSpans (snapshotSpan: SnapshotSpan) =
           match state.Value with
  -        | Data (snapshot, spans) ->
  +        | Data (snapshot, spans, _) ->
               // We get additional 10 lines above the current snapshot in case the user inserts some line
               // while we were getting locations from FCS. It's not as reliable though. 
               let spanStartLine = max 0 (snapshotSpan.Start.GetContainingLine().LineNumber + 1 - 10)
  
positive.code: type private ClassifierState =
      | NoData
      | Updating of snapshotSpan: SnapshotSpan
      | Data of snapshotSpan: SnapshotSpan * spans: CategorizedColumnSpan []
  
  type SyntaxConstructClassifier (textDocument: ITextDocument, 
                                  buffer: ITextBuffer, 
  
negative.code: 
      let getCurrentSnapshot() = if textDocument <> null then Some textDocument.TextBuffer.CurrentSnapshot else None
  
      let setNewState snapshot spans unusedSymbols =
          state.Swap (fun _ -> Data (SnapshotSpan (snapshot, 0, snapshot.Length), spans, unusedSymbols)) |> ignore
      
          // TextBuffer is null if a solution is closed at this moment
          if textDocument.TextBuffer <> null then
  