private void WriteCollection(ODataCollectionWriter collectionWriter, ODataCollectionStart collection)
        {
            collectionWriter.WriteStart(collection);
            var annotation = collection.GetAnnotation<ODataCollectionItemsObjectModelAnnotation>();

            if (annotation != null)
            {
                foreach (var item in annotation)
                {
                    collectionWriter.WriteItem(item);
                }
            }

            collectionWriter.WriteEnd();
        }
 /// <summary>
 /// Visits a collection start.
 /// </summary>
 /// <param name="collection">The collection start to visit.</param>
 protected virtual void VisitCollectionStart(ODataCollectionStart collectionStart)
 {
     ODataCollectionItemsObjectModelAnnotation items = collectionStart.GetAnnotation<ODataCollectionItemsObjectModelAnnotation>();
     if (items != null)
     {
         foreach (object item in items)
         {
             this.Visit(item);
         }
     }
 }