protected virtual void Dispose(bool disposing)
        {
            if (Disposed)
            {
                return;
            }

            if (Client != null)
            {
                Client.Dispose();
            }

            if (DataSerializer != null)
            {
                DataSerializer.Dispose();
            }

            Disposed = true;
        }