@Override public DataView createDataView(final Data data) { for (final DataView dataView : getDataViews()) { if (dataView.isCompatible(data)) { dataView.initialize(data); return dataView; } } throw new IllegalArgumentException("No data view found for data: " + data); }