internal ObjectAddedEventArgs(Events eventEnum, MediaDevice mediaDevice, IPortableDeviceValues eventParameters)
            : base(eventEnum, mediaDevice, eventParameters)
        {
            eventParameters.TryGetStringValue(WPD.OBJECT_ID, out string objectId);
            this.ObjectId = objectId;

            eventParameters.TryGetStringValue(WPD.OBJECT_PERSISTENT_UNIQUE_ID, out string objectPersistentUniqueId);
            this.ObjectPersistentUniqueId = objectPersistentUniqueId;

            eventParameters.TryGetStringValue(WPD.OBJECT_NAME, out string objectName);
            this.ObjectName = objectName;

            if (eventParameters.TryGetGuidValue(WPD.OBJECT_CONTENT_TYPE, out Guid objectContentType))
            {
                this.ObjectContentType = EnumExtentions.GetEnumFromAttrGuid <ContentType>(objectContentType);
            }

            if (eventParameters.TryGetGuidValue(WPD.FUNCTIONAL_OBJECT_CATEGORY, out Guid functionalObjectCategory))
            {
                this.FunctionalObjectCategory = EnumExtentions.GetEnumFromAttrGuid <FunctionalCategory>(functionalObjectCategory);
            }

            eventParameters.TryGetStringValue(WPD.OBJECT_ORIGINAL_FILE_NAME, out string objectOriginalFileName);
            this.ObjectOriginalFileName = objectOriginalFileName;

            eventParameters.TryGetStringValue(WPD.OBJECT_PARENT_ID, out string objectParentId);
            this.ObjectParentId = objectParentId;

            eventParameters.TryGetStringValue(WPD.OBJECT_CONTAINER_FUNCTIONAL_OBJECT_ID, out string objectContainerFuntionalObjectId);
            this.ObjectContainerFuntionalObjectId = objectContainerFuntionalObjectId;
        }