public MetricInstance withMaker(MetricMaker maker){
  return new MetricInstance(metricName,maker,dependencyMetricNames.toArray(new String[dependencyMetricNames.size()]));
}

public MetricInstance withMaker ( MetricMaker maker ) { return new MetricInstance ( metricName , maker , dependencyMetricNames . toArray ( new String [ dependencyMetricNames . size ( ) ] ) ) ; }
makes a copy of the metric instance with new maker .
