@Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        final ThreadMetadataImpl that = (ThreadMetadataImpl) o;
        return Objects.equals(threadName, that.threadName) &&
               Objects.equals(threadState, that.threadState) &&
               Objects.equals(activeTasks, that.activeTasks) &&
               Objects.equals(standbyTasks, that.standbyTasks) &&
               mainConsumerClientId.equals(that.mainConsumerClientId) &&
               restoreConsumerClientId.equals(that.restoreConsumerClientId) &&
               Objects.equals(producerClientIds, that.producerClientIds) &&
               adminClientId.equals(that.adminClientId);
    }
Represents the state of a single thread running within a {@link KafkaStreams} application.
streams/src/main/java/org/apache/kafka/streams/processor/internals/ThreadMetadataImpl.java