Github user mpollmeier commented on the issue:
https://github.com/apache/tinkerpop/pull/705
That's very true. I just experimented with deep clones and it doesn't look
straightforward
* kryo can do it directly, but all referenced classes need a
no-arg-constructor, and since there are some coming in from apache commons, it
doesn't look like it's feasible.
https://github.com/EsotericSoftware/kryo#copyingcloning
* java's builtin ByteArrayOutputStream has a similar problem: all
referenced classes need to be marked as `Serializable`
* implementing `clone` for TinkerVertex, TinkerEdge, TinkerProperty etc. is
hard because they all reference each other, i.e. you're in a chicken and egg
situation.
I guess we have two options:
1) accept that it's a shallow copy and add a comment, as you suggested
2) disregard this PR
Thoughts? Any other ideas for making a deep copy? There's always the option
to serialise it into graphml/graphson etc., but that's slow for large graphs.
---