public void accept(IJavaVisitor visitor) {
   try {
     visitor.visit(this);
   } catch (Exception e) {
     throw IWholeRuntimeException.asWholeException(e, this, visitor.getBindings());
   }
 }
 public void accept(IJavaVisitor visitor) {
   if (visitor.visitAdapter(this)) visitor.visit(this);
 }