private void readNode(DataReader in, Node<T> node) throws IOException {
        T type = createElement();
        in.readStruct(type);

        node.data(type);

        int numChildren = in.readInt();
        for (int i = 0; i < numChildren; i++) {
            Node<T> childNode = new Node<>();
            readNode(in, childNode);
            node.add(childNode);
        }
    }
@author Nico Bergemann <barracuda415 at yahoo.de>
disunity-core/src/main/java/info/ata4/junity/serialize/typetree/TypeTreeV1.java