public void mergeMetrics( ServiceMetric serviceMetric, TransportServiceMonitorFilter transportServiceMonitorFilter) { TransportServiceMetric otherTransportServiceMetric = (TransportServiceMetric) serviceMetric; for (Iterator i = otherTransportServiceMetric.getTransportMetrics(); i.hasNext(); ) { TransportMetric otherTransportMetric = (TransportMetric) i.next(); String protocol = otherTransportMetric.getProtocol(); if ((transportServiceMonitorFilter == null) || transportServiceMonitorFilter.hasTransport(protocol)) { TransportMetric transportMetric = getTransportMetric( otherTransportMetric.getProtocol(), otherTransportMetric.getEndpointAddress()); if (transportMetric == null) { transportMetric = new TransportMetric(otherTransportMetric); addTransportMetric(transportMetric); } transportMetric.mergeMetrics(otherTransportMetric); } } }