/// <summary>
        /// Fires before writing the on entity reference link.
        /// </summary>
        /// <param name="entityReferenceLink">The entity reference link.</param>
        /// <param name="source">The source.</param>
        /// <param name="target">The target.</param>
        internal void ExecuteEntityReferenceLinkActions(ODataEntityReferenceLink entityReferenceLink, object source, object target)
        {
            Debug.Assert(entityReferenceLink != null, "entityReferenceLink != null");

            if (this.writeEntityReferenceLinkActions.Count > 0)
            {
                WritingEntityReferenceLinkArgs args = new WritingEntityReferenceLinkArgs(entityReferenceLink, source, target);
                foreach (Action <WritingEntityReferenceLinkArgs> navArgsAction in this.writeEntityReferenceLinkActions)
                {
                    navArgsAction(args);
                }
            }
        }
        /// <summary>
        /// Fires before writing the on entity reference link.
        /// </summary>
        /// <param name="entityReferenceLink">The entity reference link.</param>
        /// <param name="source">The source.</param>
        /// <param name="target">The target.</param>
        internal void ExecuteEntityReferenceLinkActions(ODataEntityReferenceLink entityReferenceLink, object source, object target)
        {
            Debug.Assert(entityReferenceLink != null, "entityReferenceLink != null");

            if (this.writeEntityReferenceLinkActions.Count > 0)
            {
                WritingEntityReferenceLinkArgs args = new WritingEntityReferenceLinkArgs(entityReferenceLink, source, target);
                foreach (Action<WritingEntityReferenceLinkArgs> navArgsAction in this.writeEntityReferenceLinkActions)
                {
                    navArgsAction(args);
                }
            }
        }