abstract class AbstractMetricsRecord implements MetricsRecord {
@Override public boolean equals(Object obj) {
if (obj instanceof MetricsRecord) {
final MetricsRecord other = (MetricsRecord) obj;
return Objects.equal(timestamp(), other.timestamp()) &&
Objects.equal(name(), other.name()) &&
Objects.equal(description(), other.description()) &&
Objects.equal(tags(), other.tags()) &&
Iterables.elementsEqual(metrics(), other.metrics());
}