@Override @SuppressWarnings("unchecked") public <R> Set<MarketDataId<R>> findIds(MarketDataName<R> name) { Set<MarketDataId<R>> ids = underlying.findIds(name); if (id instanceof NamedMarketDataId) { NamedMarketDataId<?> named = (NamedMarketDataId<?>) id; if (named.getMarketDataName().equals(name)) { return ImmutableSet.<MarketDataId<R>>builder().addAll(ids).add((MarketDataId<R>) id).build(); } } return ids; }
@Override @SuppressWarnings("unchecked") public <R> Set<MarketDataId<R>> findIds(MarketDataName<R> name) { Set<MarketDataId<R>> ids = underlying.findIds(name); if (id instanceof NamedMarketDataId) { NamedMarketDataId<?> named = (NamedMarketDataId<?>) id; if (named.getMarketDataName().equals(name)) { return ImmutableSet.<MarketDataId<R>>builder().addAll(ids).add((MarketDataId<R>) id).build(); } } return ids; }
@Override @SuppressWarnings("unchecked") public <T> Set<MarketDataId<T>> findIds(MarketDataName<T> name) { // no type check against id.getMarketDataType() as checked in factory return values.keySet().stream() .filter(id -> id instanceof NamedMarketDataId) .filter(id -> ((NamedMarketDataId<?>) id).getMarketDataName().equals(name)) .map(id -> (MarketDataId<T>) id) .collect(toImmutableSet()); }
@Override @SuppressWarnings("unchecked") public <T> Set<MarketDataId<T>> findIds(MarketDataName<T> name) { // no type check against id.getMarketDataType() as checked in factory return values.keySet().stream() .filter(id -> id instanceof NamedMarketDataId) .filter(id -> ((NamedMarketDataId<?>) id).getMarketDataName().equals(name)) .map(id -> (MarketDataId<T>) id) .collect(toImmutableSet()); }