anchor.diff:              member __.provideCodeLenses(doc, _) =
                   // printf "[%d:%d:%d:%d] CodeLens - provide called" DateTime.Now.Hour DateTime.Now.Minute DateTime.Now.Second  DateTime.Now.Millisecond
                   promise {
  +                    // printf "[%d:%d:%d:%d] CodeLens - Active document name - %s, version: %d; Asked document name - %s, version: %d" DateTime.Now.Hour DateTime.Now.Minute DateTime.Now.Second  DateTime.Now.Millisecond (window.activeTextEditor.document.fileName) (unbox window.activeTextEditor.document.version) doc.fileName version
  +
                       let! data =
  -                        if flag then
  +                        if (unbox window.activeTextEditor.document.version) = version then
  +                            // printf "CodeLens - From FSAC"
                               promise {
                                   let! result = LanguageService.declarations doc.fileName version
  -                                // printf "CodeLens - FileName: %s, Version: %d" doc.fileName version
  +                                // printf "[%d:%d:%d:%d] CodeLens - FileName: %s, Version: %d" DateTime.Now.Hour DateTime.Now.Minute DateTime.Now.Second  DateTime.Now.Millisecond doc.fileName version
                                   return
                                       if isNotNull result then
                                           let res = symbolsToCodeLens doc result.Data
  
positive.code:     let mutable cache: Map<string, CodeLens[]> = Map.empty
      let refresh = EventEmitter<int>()
      let mutable private version = 0
      let mutable private flag = true
      let mutable private fileName = ""
  
      let mutable changes : TextDocumentContentChangeEvent list = []
  
negative.code:             | Document.FSharp ->
                  changes <- []
                  version <- unbox event.document.version
                  fileName <- event.document.fileName
              | _ -> ()
  
          ()
  
      let activate selector (disposables: Disposable[]) =
          refresh.event.Invoke(fun (n) -> version <- n; null) |> ignore
          workspace.onDidChangeTextDocument $ (textChangedHandler,(), disposables) |> ignore
          window.onDidChangeActiveTextEditor $ (fileOpenedHandler, (), disposables) |> ignore
  
          fileOpenedHandler window.activeTextEditor
  
  
          languages.registerCodeLensProvider(selector, createProvider()) |> ignore
  