public void Dispose()
{
if (_in != null)
{
_in.Dispose();
_in = null;
}
if (_out != null)
{
_out.Dispose();
_out = null;
}
if (_socket != null)
{
((IDisposable) _socket).Dispose();
_socket = null;
}
}