Sorry, maybe I should be more clear:

`setAsCopy(byte[] data, int offset)` reads the very first byte from the `byte[]` just as `write()` writes it and `readFields()` reads it.  There is no difference there and they should have the exact same effect. They should be completely consistent with `NODE_FIELDS` and `getActiveFields()`.

`setAsReference(byte[] data, int offset)` is almost an exact copy of that function with the exception that `VKmer` instances (in the `EdgeMap`s and the `internalKmer` will be references rather than copies-- everything else must be a copy.

`setAsCopy(Node other)` is what I meant when I said they're not consistent-- for that function, when `other` has a list whose `size() == 0`, `this.<list>` won't be null.  That really shouldn't affect anything...