@SuppressWarnings("unchecked") @Override public <T> T getValue(MarketDataId<T> id) { // overridden for performance // no type check against id.getMarketDataType() as checked in factory @SuppressWarnings("unchecked") T value = (T) values.get(id); if (value == null) { throw new MarketDataNotFoundException(msgValueNotFound(id)); } return value; }