/*
 * All content copyright Terracotta, Inc., unless otherwise indicated.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.terracotta.statistics;

import java.io.Serializable;
import java.time.Instant;

/**
 * @author cdennis
 */
public class Sample<T extends Serializable> implements Serializable {

  private static final long serialVersionUID = 1L;

  private final long timestamp;
  private final T sample;

  public Sample(long timestamp, T sample) {
    this.sample = sample;
    this.timestamp = timestamp;
  }

  public T getSample() {
    return sample;
  }

  /**
   * @return The sample time in milliseconds
   */
  public long getTimestamp() {
    return timestamp;
  }

  @Override
  public String toString() {
    return getSample() + " @ " + Instant.ofEpochMilli(getTimestamp());
  }

}

@@ -711,20 +711,20 @@
 ava.
+u
 ti
-me.Instant
+l.Objects
 ;%0A%0A/
@@ -1000,16 +1000,31 @@
  sample;
+ // can be null
 %0A    thi
@@ -1238,16 +1238,388 @@
  public 
+boolean equals(Object o) %7B%0A    if (this == o) return true;%0A    if (!(o instanceof Sample)) return false;%0A    Sample%3C?%3E sample1 = (Sample%3C?%3E) o;%0A    return getTimestamp() == sample1.getTimestamp() && Objects.equals(getSample(), sample1.getSample());%0A  %7D%0A%0A  @Override%0A  public int hashCode() %7B%0A    return Objects.hash(getTimestamp(), getSample());%0A  %7D%0A%0A  @Override%0A  public 
 String t
@@ -1667,29 +1667,8 @@
 %22 + 
-Instant.ofEpochMilli(
 getT
@@ -1677,17 +1677,16 @@
 estamp()
-)
 ;%0A  %7D%0A%0A%7D

Fix / Improve Sample class