public void writeObject(Object value) {
   if (value instanceof Values) {
     Values.writeValues(value, this);
     return;
   }
   if (value instanceof KNode) {
     KNode node = (KNode) value;
     writeObject(((NodeTree) node.sequence).typedValue(node.ipos));
     return;
   }
   Object old = table.get(value, null);
   if (old != null) return;
   table.put(value, value);
   base.writeObject(value);
 }
 public static void distinctValues$X(Object values, NamedCollator coll, CallContext ctx) {
   DistinctValuesConsumer out = new DistinctValuesConsumer(coll, ctx.consumer);
   Values.writeValues(values, out);
 }