class FirewallSessionTraceInfo {

  @Override
  public boolean equals(@Nullable Object o) {
    if (this == o) {
      return true;
    }
    if (!(o instanceof FirewallSessionTraceInfo)) {
      return false;
    }
    FirewallSessionTraceInfo that = (FirewallSessionTraceInfo) o;
    return _hostname.equals(that._hostname)
        && _sessionScope.equals(that._sessionScope)
        && _action.equals(that._action)
        && _sessionFlows.equals(that._sessionFlows)
        && Objects.equals(_transformation, that._transformation);
  }

  @VisibleForTesting public  FirewallSessionTraceInfo(
      String hostname,
      SessionAction action,
      Set<String> incomingInterfaces,
      SessionMatchExpr sessionFlows,
      @Nullable Transformation transformation);
  public  FirewallSessionTraceInfo(
      String hostname,
      SessionAction action,
      SessionScope sessionScope,
      SessionMatchExpr sessionFlows,
      @Nullable Transformation transformation);

}