returns an unmodifiable view on the lists data.
@override List<T> get value => UnmodifiableListView<T>(this);