/// <summary>
 /// Clear the collection.
 /// </summary>
 internal void Clear()
 {
     this.DefaultCallback = null;
     lock (this.syncLock)
     {
         this.inboundStreamCallbacks.Clear();
     }
 }
        /// <summary>
        /// Add the callback to the collections.
        /// </summary>
        /// <param name="prefix">Prefix key for the callback</param>
        /// <param name="callback">Inbound stream callback</param>
        internal void AddCallbackByPrefix(Uri prefix, IInboundStreamCallback callback)
        {
            // Args Check
            prefix.ThrowIfNull("Prefix");
            callback.ThrowIfNull("Callback");
            if (!prefix.IsAbsoluteUri)
            {
                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, SR.Error_InboundCallbacks_PrefixUri, prefix));
            }

            // Add to the inboundStreamCallbacks collection.
            try
            {
                lock (this.syncLock)
                {
                    this.inboundStreamCallbacks.Add(prefix, callback);
                }
            }
            catch (ArgumentException)
            {
                throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, SR.Error_InboundCallbacks_Prefix_AlreadyExists, prefix));
            }
        }