/// <summary> /// Gets the data from the state bag. /// </summary> /// <param name="bag">The bag.</param> /// <param name="value">The value.</param> /// <returns><c>true</c> if data could be retrieved; otherwise <c>false</c>.</returns> protected override bool GetData(StateBag bag, out T[] value) { IEnumerable <T> enumerableValue; var result = bag.TryGetStateValueAsEnumerable(out enumerableValue, StatePath); value = result ? enumerableValue.ToArray() : default(T[]); return(result); }