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:     }
      public String toString() {
        return token.toString();
      }
    }
  
  
negative.code:   }
  
  
    static List<AttributeSource> getTokens(TokenStream tstream) throws IOException {
      List<AttributeSource> tokens = new ArrayList<AttributeSource>();
     
      while (true) {
        if (!tstream.incrementToken())
          break;
        else {
        	tokens.add(tstream.cloneAttributes());
        }
      }
      return tokens;
  