@Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Trace trace = (Trace) o;
        return level == trace.level &&
                explainLevel == trace.explainLevel &&
                profileDepth == trace.profileDepth &&
                timestamps == trace.timestamps &&
                query == trace.query &&
                Objects.equals(profiling, trace.profiling);
    }
Traces how properties was resolved and from where. Done after the fact to avoid special handling
of tracelevel, which is the property deciding whether this needs to be done
container-search/src/main/java/com/yahoo/search/query/Trace.java