private void SwitchToActive()
        {
            var passiveBackend = backend as IPassiveIOSource;

            if (passiveBackend != null)
            {
                var activeBackend = new PAIOSourceConverter(passiveBackend);
                Interlocked.Exchange(ref inputIsWaiting, 0);
                activeBackend.ByteRead += HandleNewData;
                backend        = activeBackend;
                isInActiveMode = true;
            }
        }
 public Reader(PAIOSourceConverter c)
 {
     converter = c;
 }