@Override
    public int hashCode() {
        return Objects.hash(
            threadName,
            threadState,
            activeTasks,
            standbyTasks,
            mainConsumerClientId,
            restoreConsumerClientId,
            producerClientIds,
            adminClientId);
    }
@Test
    public void shouldNotBeEqualIfDifferInAdminClientId() {
        final ThreadMetadata differAdminClientId = new ThreadMetadataImpl(
            THREAD_NAME,
            THREAD_STATE,
            MAIN_CONSUMER_CLIENT_ID,
            RESTORE_CONSUMER_CLIENT_ID,
            PRODUCER_CLIENT_IDS,
            "different",
            ACTIVE_TASKS,
            STANDBY_TASKS
        );
        assertThat(threadMetadata, not(equalTo(differAdminClientId)));
        assertThat(threadMetadata.hashCode(), not(equalTo(differAdminClientId.hashCode())));
    }