@Test
    public void testServerSetQueueTimeoutDisconnectIndividualHashEx() {
        LOGGER.log(Level.INFO, "----- STARTING TEST testServerSetQueueTimeoutDisconnectIndividualHashEx -----");
        boolean exception_other = false;
        String client_hash = "";
        try {
            server2.setUseMessageQueues(true);
        } catch (TimeoutException e) {
            exception_other = true;
        }
        try {
            server1.startThread();
        } catch (IOException | ServerSocketCloseException | FeatureNotUsedException e) {
            exception_other = true;
        }
        waitListenThreadStart(server1);
        try {
            client_hash = server2.addSocket("127.0.0.1", port);
        } catch (IOException | TimeoutException e) {
            exception_other = true;
        }
        waitSocketThreadAddNotEmpty(server2);
        waitSocketThreadState(server2, client_hash, SocketThread.CONFIRMED);
        waitMessageQueueAddNotEmpty(server2);
        waitMessageQueueState(server2, client_hash, MessageQueue.RUNNING);
        try {
            server2.setQueueTimeoutDisconnectIndividual("TEST", -1);
        } catch (HashNotFoundException e) {
            exception = true;
        } catch (FeatureNotUsedException | NullException | InvalidArgumentException e) {
            exception_other = true;
        }
        Assert.assertFalse(exception_other, "Caught an unexpected exception");
        Assert.assertTrue(exception, "Successfully ran setQueueTimeoutDisconnectIndividual on server, should have received an exception");
        LOGGER.log(Level.INFO, "----- TEST testServerSetQueueTimeoutDisconnectIndividualHashEx COMPLETED -----");
    }