I've designed base class (MetricDataFetcher) to return set of return objects 

>> public abstract Set<R> getResult(List<MetricNameDto> metricNames);