private A merge()

in geronimo-metrics-common/src/main/java/org/apache/geronimo/microprofile/metrics/common/jaxrs/MetricsEndpoints.java [222:231]


    private <A> A merge(final A a, final A b) {
        if (Map.class.isInstance(a) && Map.class.isInstance(b)) {
            final Map<String, Object> firstMap = (Map<String, Object>) a;
            final Map<String, Object> secondMap = (Map<String, Object>) b;
            final Map<String, Object> merged = Stream.concat(firstMap.entrySet().stream(), secondMap.entrySet().stream())
                    .collect(toMap(Map.Entry::getKey, Map.Entry::getValue, (m1, m2) -> m1));
            return (A) merged;
        }
        return a;
    }