@SuppressWarnings("unchecked") private List<String> getAdditionalExpandFromProvider(Object entity, AdditionalExpandsProvider filteredProvider) { return filteredProvider.getAdditionalExpands(filteredProvider.getSupportedType().cast(entity)); }
private Collection<String> getAdditionalExpands(Object entity) { return additionalExpandsProviders.stream() .filter(provider -> provider.getSupportedType().isInstance(entity)) .flatMap(filteredProvider -> getAdditionalExpandFromProvider(entity, filteredProvider).stream()) .collect(Collectors.toList()); }