Clones by serialization, to keep variable bindings; these should form a closed graph
within this term, otherwise the new term instance would contain dangling references
Represents a Java class object; avoids the need to use a full blown object specifier for the real
Java class object (a Class instance) on the Prolog side, by relying on the Java call-back mechanism to interpret the contents
of this object at callback time
Register an object with this Engine, so it later can be referred from Prolog without serializing it, and returns
an InvisibleObject encapsulating the reference.
Vaguely similar to an ObjectOutputStream, but sends the total number of serialized bytes up front,
so Prolog can keep grammar and socket reads separate without hanging for input