Models information about a Feed in the IFeedCache for display in a UI.
Inheritance: CacheNode
        private FeedNode GetFeedNode(Feed feed)
        {
            feed.Normalize(feed.Uri);
            var node = new FeedNode(feed, _feedCache);

            return(node);
        }
        /// <summary>
        /// Creates a new owned implementation node.
        /// </summary>
        /// <param name="digest">The digest identifying the implementation.</param>
        /// <param name="implementation">Information about the implementation from a <see cref="Feed"/> file.</param>
        /// <param name="parent">The node of the feed owning the implementation.</param>
        /// <param name="store">The <see cref="IStore"/> the implementation is located in.</param>
        /// <exception cref="FormatException">The manifest file is not valid.</exception>
        /// <exception cref="IOException">The manifest file could not be read.</exception>
        /// <exception cref="UnauthorizedAccessException">Read access to the file is not permitted.</exception>
        public OwnedImplementationNode(ManifestDigest digest, [NotNull] Implementation implementation, [NotNull] FeedNode parent, [NotNull] IStore store)
            : base(digest, store)
        {
            #region Sanity checks
            if (implementation == null) throw new ArgumentNullException("implementation");
            if (parent == null) throw new ArgumentNullException("parent");
            if (store == null) throw new ArgumentNullException("store");
            #endregion

            _parent = parent;
            _implementation = implementation;
        }
        /// <summary>
        /// Creates a new owned implementation node.
        /// </summary>
        /// <param name="digest">The digest identifying the implementation.</param>
        /// <param name="implementation">Information about the implementation from a <see cref="Feed"/> file.</param>
        /// <param name="parent">The node of the feed owning the implementation.</param>
        /// <param name="store">The <see cref="IStore"/> the implementation is located in.</param>
        /// <exception cref="FormatException">The manifest file is not valid.</exception>
        /// <exception cref="IOException">The manifest file could not be read.</exception>
        /// <exception cref="UnauthorizedAccessException">Read access to the file is not permitted.</exception>
        public OwnedImplementationNode(ManifestDigest digest, [NotNull] Implementation implementation, [NotNull] FeedNode parent, [NotNull] IStore store)
            : base(digest, store)
        {
            #region Sanity checks
            if (implementation == null)
            {
                throw new ArgumentNullException("implementation");
            }
            if (parent == null)
            {
                throw new ArgumentNullException("parent");
            }
            if (store == null)
            {
                throw new ArgumentNullException("store");
            }
            #endregion

            _parent         = parent;
            _implementation = implementation;
        }
 /// <summary>
 /// Creates a new owned implementation node.
 /// </summary>
 /// <param name="digest">The digest identifying the implementation.</param>
 /// <param name="implementation">Information about the implementation from a <see cref="Feed"/> file.</param>
 /// <param name="parent">The node of the feed owning the implementation.</param>
 /// <param name="implementationStore">The <see cref="IImplementationStore"/> the implementation is located in.</param>
 /// <exception cref="FormatException">The manifest file is not valid.</exception>
 /// <exception cref="IOException">The manifest file could not be read.</exception>
 /// <exception cref="UnauthorizedAccessException">Read access to the file is not permitted.</exception>
 public OwnedImplementationNode(ManifestDigest digest, Implementation implementation, FeedNode parent, IImplementationStore implementationStore)
     : base(digest, implementationStore)
 {
     _parent         = parent ?? throw new ArgumentNullException(nameof(parent));
     _implementation = implementation ?? throw new ArgumentNullException(nameof(implementation));
 }