private IImapTransaction ProcessTransactionInternal(IImapTransaction t)
        {
            lock (transactionLockObject) {
            Trace.LogRequest(t);

            if (t is IdleTransaction)
              TraceInfo("idling");

            t.Process();

            if (t is IdleTransaction)
              TraceInfo("done");

            Trace.LogResponse(t);

            return t;
              }
        }