Generic types in SharedState for custom component or Serialization customiz


I have a custom component (java/gwt based) that’s drawing some network. The network contains nodes of a different kind. I want to transfer generic types to a client side and be able to deserialize them.
From my try and failure experiments, I’ve see no way either to transfer an object by interface or base class and restore it to a top level class on a customer side, because the other side simply doesn’t have an information about top level class as result of serialization.

Here is a sample of my hierarhy which I want to transfer to a client side.

<> INode
AbstractNode implements INode
TreeNode extends AbstractNode
LeafNode extends AbstractNode
OtherNode extends AbstractNode

As I can see, I can’t use neither INode nor AbstractNode in SharedState.
Is there a way to either pass “generic” type for the hierarhy or customize serialization process in order to restore concrete type on client side on my own.

I would appreciate any advises.

Thank you in advance.