package com.intellij.debugger.streams.trace.smart;

import com.sun.jdi.Value;
import org.jetbrains.annotations.NotNull;

/**
 * @author Vitaliy.Bibaev
 */
public class TraceElementImpl implements TraceElement {
  private final int myTime;
  private final Value myValue;

  public TraceElementImpl(int time, @NotNull Value value) {
    myTime = time;
    myValue = value;
  }

  @Override
  public int getTime() {
    return myTime;
  }

  @NotNull
  @Override
  public Value getValue() {
    return myValue;
  }
}

@@ -114,16 +114,43 @@
 tNull;%0A%0A
+import java.util.Objects;%0A%0A
 /**%0A * @
@@ -396,16 +396,386 @@
 e;%0A  %7D%0A%0A
+  @Override%0A  public boolean equals(Object obj) %7B%0A    if (obj instanceof TraceElement) %7B%0A      final int time = ((TraceElement)obj).getTime();%0A      final Value value = ((TraceElement)obj).getValue();%0A      return time == myTime && myValue.equals(value);%0A    %7D%0A%0A    return false;%0A  %7D%0A%0A  @Override%0A  public int hashCode() %7B%0A    return Objects.hash(myTime, myValue);%0A  %7D%0A%0A
   @Overr

Add equals/hashCode into TraceElement implementation