public virtual IEnumerable <IEdge> GetEdges(string key, object value) { GraphContract.ValidateGetEdges(key, value); if (EdgeKeyIndex.GetIndexedKeys().Contains(key)) { return(EdgeKeyIndex.Get(key, value).Cast <IEdge>()); } return(new PropertyFilteredIterable <IEdge>(key, value, GetEdges())); }