public object GetNext(object relativeTo) { if (relativeTo == null) { return(null); } T?next = GetRelativeTo(((ValueWrapper <T>)relativeTo).Value, 1); return(next.HasValue ? _selectedItem.CreateNew(next.Value) : null); }