private async Task ZProcessChallengeAsync(cBytesCursor pCursor, cTrace.cContext pParentContext) { var lContext = pParentContext.NewMethod(nameof(cCommandPipeline), nameof(ZProcessChallengeAsync)); IList <byte> lResponse; if (cBase64.TryDecode(pCursor.GetRestAsBytes(), out var lChallenge, out var lError)) { try { lResponse = mCurrentCommand.GetAuthenticationResponse(lChallenge); } catch (Exception e) { lContext.TraceException("SASL authentication object threw", e); lResponse = null; } }