MetricsContainerStepMap implements Serializable { @Override public boolean equals(@Nullable Object object) { if (object instanceof MetricsContainerStepMap) { MetricsContainerStepMap metricsContainerStepMap = (MetricsContainerStepMap) object; return Objects.equals(metricsContainers, metricsContainerStepMap.metricsContainers) && Objects.equals(unboundContainer, metricsContainerStepMap.unboundContainer); } return false; } MetricsContainerStepMap(); MetricsContainerImpl getUnboundContainer(); MetricsContainerImpl getContainer(String stepName); void updateAll(MetricsContainerStepMap other); void update(String step, MetricsContainerImpl container); void reset(); @Override boolean equals(@Nullable Object object); @Override int hashCode(); static MetricResults asAttemptedOnlyMetricResults(
      MetricsContainerStepMap attemptedMetricsContainers); static MetricResults asMetricResults(
      MetricsContainerStepMap attemptedMetricsContainers,
      MetricsContainerStepMap committedMetricsContainers); Iterable<MonitoringInfo> getMonitoringInfos(); @Override String toString();  }
@Test public void testEquals() { MetricsContainerStepMap metricsContainerStepMap = new MetricsContainerStepMap(); MetricsContainerStepMap equal = new MetricsContainerStepMap(); Assert.assertEquals(metricsContainerStepMap, equal); Assert.assertEquals(metricsContainerStepMap.hashCode(), equal.hashCode()); }