anchor.diff:              this.Color <- "Preprocessor"
               this.Rule <- "PreProcessorComment"
   
  -
       type IfBlockSpan(isValid) =
           inherit AbstractBlockSpan(isValid)
           override this.ToString() =
  
positive.code:             match (this.Document,line) with
              | StringCode -> Seq.singleton(Chunk(offset,length, style.String.Name))
              | CommentCode -> Seq.singleton(Chunk(offset,length, style.CommentsMultiLine.Name))
              | ExcludedCode -> Seq.singleton(Chunk(offset,length,"Excluded Code"))
              | PreProcessorCode -> base.GetChunks(style,line,offset,length) 
              | OtherCode  -> this.getLexedChunks(style,line,offset,length)
          with
  
negative.code:         let lineText = this.Document.GetText(line.Segment)
          let tokenizer = sourceTokenizer.CreateLineTokenizer(lineText)
          let tokens = Seq.unfold (fun s -> match tokenizer.ScanToken(s) with
                                            | Some t, s -> Some(t,s)
                                            | _         -> None) 0L |> Array.ofSeq
          tokens |> Seq.map (makeChunk line.LineNumber style line.Segment.Offset lineText)        
  
      member private this.getLexedChunks (style,line: DocumentLine,offset,length) = 
  