public override VersionUriList GetItemVersions(ItemDefinition itemDefinition, CallContext context) { #if DEBUG var timer = Stopwatch.StartNew(); #endif var headList = HeadProvider.GetItemVersions(itemDefinition, context); if (headList != null && headList.Count > 0) { return(headList); } var itemVersions = ReadOnlyProviders.Select(provider => provider.GetItemVersions(itemDefinition)) .FirstOrDefault(list => list != null && list.Count > 0); #if DEBUG this.Trace(itemVersions, timer, itemDefinition, context); #endif return (itemVersions ?? new VersionUriList()); }