private static Sockets FromData(SocketsData data, Dictionary <NodeEditor, int> instances)
                {
                    Dictionary <SocketIO, List <Socket> > sockets = new Dictionary <SocketIO, List <Socket> >();

                    sockets.Add(SocketIO.INPUT, CreateSocketWithInstances(data.input, instances));
                    sockets.Add(SocketIO.OUTPUT, CreateSocketWithInstances(data.output, instances));

                    return(new Sockets(sockets));
                }
                static private SocketsData ToData(Sockets sockets, Dictionary <NodeEditor, int> instances)
                {
                    SocketsData ret = new SocketsData();

                    ret.input  = ToData(sockets.GetSockets(SocketIO.INPUT), instances);
                    ret.output = ToData(sockets.GetSockets(SocketIO.OUTPUT), instances);

                    return(ret);
                }