@Override
 public <A> void accept(VoidVisitor<A> v, A arg) {
   v.visit(this, arg);
 }
 @Override
 public <A> void accept(final VoidVisitor<A> v, final A arg) {
   v.visit(this, arg);
 }