code: @Override
    public synchronized boolean remove(String name) {
      MetricContext metricContext = this.metricContext.get();
      if (metricContext != null) {
        metricContext.removeFromMetrics(this.contextAwareMetrics.get(name).getContextAwareMetric());
      }
      return this.contextAwareMetrics.remove(name) != null && removeChildrenMetrics(name);
    }
docs: Remove a metric with a given name.
  
  <p>
  This method will remove the metric with the given name from this {@link MetricContext}
  as well as metrics with the same name from every child {@link MetricContext}s.
  </p>
  
  @param name name of the metric to be removed
  @return whether or not the metric has been removed