anchor.diff:  
   
     private static class Tok {
  -    Token token;
  +    AttributeSource token;
       int pos;
  -    Tok(Token token, int pos) {
  +    Tok(AttributeSource token, int pos) {
         this.token=token;
         this.pos=pos;
       }
  
positive.code:            writeHeader(out, filtfac.getClass(), filtfac.getArgs());
           }
  
           final Iterator<Token> iter = tokens.iterator();
           tstream = filtfac.create( new TokenStream() {
             CharTermAttribute termAtt = addAttribute(CharTermAttribute.class);
             OffsetAttribute offsetAtt = addAttribute (OffsetAttribute.class);
             TypeAttribute typeAtt = addAttribute (TypeAttribute.class);
             FlagsAttribute flagsAtt = addAttribute (FlagsAttribute.class);
             PayloadAttribute payloadAtt = addAttribute (PayloadAttribute.class);
             PositionIncrementAttribute posIncAtt = addAttribute (PositionIncrementAttribute.class);
             
             public boolean incrementToken() throws IOException {
               if (iter.hasNext()) {
                 Token token = iter.next();
                 termAtt.copyBuffer(token.buffer(), 0, token.length());
                 offsetAtt.setOffset(token.startOffset(), token.endOffset());
                 typeAtt.setType(token.type());
                 flagsAtt.setFlags(token.getFlags());
                 posIncAtt.setPositionIncrement(token.getPositionIncrement());
                 payloadAtt.setPayload(token.getPayload());
                 return true;
               } else {
                 return false;
  
negative.code:     if (verbose) {
        printRow(out,"term type", arr, new ToStr() {
          public String toStr(Object o) {
            String tt =  ((Tok)o).token.addAttribute(TypeAttribute.class).type();
            if (tt == null) {
               return "null";
            } else {
  