/// <summary>
 /// Translate a NavigationPropertySegment
 /// </summary>
 /// <param name="segment">the segment to Translate</param>
 /// <returns>Translated WebApi path segment.</returns>
 public override IEnumerable <ODataPathSegment> Translate(Semantic.NavigationPropertySegment segment)
 {
     yield return(new NavigationPathSegment(segment.NavigationProperty));
 }
 /// <summary>
 /// Determine the NavigationSource of a NavigationPropertySegment
 /// </summary>
 /// <param name="segment">The NavigationPropertySegment to look in.</param>
 /// <returns>The IEdmNavigationSource of this NavigationPropertySegment</returns>
 /// <exception cref="System.ArgumentNullException">Throws if the input segment is null.</exception>
 public override IEdmNavigationSource Translate(NavigationPropertySegment segment)
 {
     ExceptionUtils.CheckArgumentNotNull(segment, "segment");
     return(segment.NavigationSource);
 }