/// <summary>
 ///     The add.
 /// </summary>
 /// <param name="context">
 ///     The context.
 /// </param>
 /// <param name="metadata">
 ///     The metadata.
 /// </param>
 /// <param name="shareLifetime">
 ///     The share lifetime.
 /// </param>
 public void Add(ILifetimeContext context, ExportMetadata metadata, bool shareLifetime)
 {
     lock (this)
     {
         if (shareLifetime) _global[metadata.Export] = context;
         else _local[metadata] = context;
     }
 }
        /// <summary>
        ///     The add.
        /// </summary>
        /// <param name="context">
        ///     The context.
        /// </param>
        /// <param name="metadata">
        ///     The metadata.
        /// </param>
        /// <param name="shareLifetime">
        ///     The share lifetime.
        /// </param>
        /// <exception cref="NotImplementedException">
        /// </exception>
        public void Add(ILifetimeContext context, ExportMetadata metadata, bool shareLifetime)
        {
            Contract.Requires<ArgumentNullException>(context != null, "context");
            Contract.Requires<ArgumentNullException>(metadata != null, "metadata");

            throw new NotImplementedException();
        }