public RootAttachmentsProviderConfig(SubjectType typeOfSubject, string subjectIdentifier, AttachmentType attachmentType)
        {
            TypeOfSubject  = typeOfSubject;
            AttachmentType = attachmentType;

            Predicate = attachmentModel =>
            {
                bool isFiltered =
                    attachmentModel.HostType == TypeOfSubject.ToAttachmentHostType() &&
                    attachmentModel.HostId == subjectIdentifier;

                return(isFiltered);
            };

            if (attachmentType == AttachmentType.Note)
            {
                DecoratorTransform = NoteDecoratorTransform;
            }
            else if (attachmentType == AttachmentType.Photo)
            {
                DecoratorTransform = PhotoDecoratorTransform;
            }
            else if (attachmentType == AttachmentType.PhotoAlbum)
            {
                DecoratorTransform = PhotoAlbumDecoratorTransform;
            }
            else
            {
                throw new NotImplementedException();
            }
        }