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