use UnmodifiableMapView from dart:collection v1.4