anchor.diff:      if (verbose) {
         printRow(out,"source start,end", arr, new ToStr() {
           public String toStr(Object o) {
  -          Token t = ((Tok)o).token;
  -          return Integer.toString(t.startOffset()) + ',' + t.endOffset() ;
  +          AttributeSource t = ((Tok)o).token;
  +          return Integer.toString(t.addAttribute(OffsetAttribute.class).startOffset()) + ',' + t.addAttribute(OffsetAttribute.class).endOffset() ;
           }
         }
                 ,true
  
positive.code:       Analyzer analyzer =  field.getType().getQueryAnalyzer();
        TokenStream tstream = analyzer.reusableTokenStream(field.getName(),reader);
        tstream.reset();
        List<Token> tokens = getTokens(tstream);
        matches = new HashSet<Tok>();
        for (Token t : tokens) { matches.add( new Tok(t,0)); }
      }
  
      if (val!="") {
  
negative.code: 
  
    private static class Tok {
      AttributeSource token;
      int pos;
      Tok(AttributeSource token, int pos) {
        this.token=token;
        this.pos=pos;
      }
  