/// <summary>
        /// Visits an entry item.
        /// </summary>
        /// <param name="entry">The entry to visit.</param>
        protected virtual void VisitEntry(ODataEntry entry)
        {
            if (entry.MediaResource != null)
            {
                this.Visit(entry.MediaResource);
            }

            if (entry.Actions != null)
            {
                foreach (var action in entry.Actions)
                {
                    this.VisitODataOperation(action);
                }
            }

            if (entry.Functions != null)
            {
                foreach (var function in entry.Functions)
                {
                    this.VisitODataOperation(function);
                }
            }

            entry.ProcessPropertiesPreservingPayloadOrder(
                property => this.VisitProperty(property),
                navigationLink => this.VisitNavigationLink(navigationLink));
        }