@Override
    public void start() {
        initializeMonitorThread();
        monitorThread.start();
    }
@Test
    void shouldNotAllowMonitorToBeStartedMultipleTimes() {
        monitor.start();
        assertThatThrownBy(() -> monitor.start()).isExactlyInstanceOf(IllegalStateException.class)
            .hasMessageContaining("Cannot start the monitor multiple times.");
    }