/// <summary>
        ///     Construct an LSLLibraryEventSignature by cloning another LSLLibraryEventSignature object.
        /// </summary>
        /// <param name="other">The LSLLibraryEventSignature to copy construct from.</param>
        /// <exception cref="ArgumentNullException"><paramref name="other" /> is <c>null</c>.</exception>
        public LSLLibraryEventSignature(LSLLibraryEventSignature other)
            : base(other)
        {
            if (other == null)
            {
                throw new ArgumentNullException("other");
            }


            DocumentationString = other.DocumentationString;
            _subsets            = new LSLLibraryDataSubsetCollection(other._subsets);
            _properties         = other._properties.ToDictionary(x => x.Key, y => y.Value);
        }
 /// <summary>
 ///     Constructs the event arguments using a reference to the collection that was cleared.
 /// </summary>
 /// <param name="collection">The collection that was cleared.</param>
 public LibraryDataSubsetsClearedEventArgs(LSLLibraryDataSubsetCollection collection)
 {
     Collection = collection;
 }