private static StateAccessingThread[] harness() throws InterruptedException, BrokenBarrierException {
        StateAccessingThread[] threads = new StateAccessingThread[THREAD_COUNT];
        final CyclicBarrier barrier = new CyclicBarrier(THREAD_COUNT + 1);
        for (int i = 0; i < THREAD_COUNT; i++) {
            threads[i] = new StateAccessingThread(barrier);
            threads[i].start();
        }

        barrier.await();
        for (int i = 0; i < THREAD_COUNT; i++) {
            threads[i].join();
        }
        return threads;
    }
This class demonstrates that threads accessing the STATE variable always see a consistent value. 

During ongoing initialization the observed value is either ONGOING_INITIALIZATION
or one of {SUCCESS, FAILURE}. 

Post initialization the observed value is always one of  {SUCCESS, FAILURE}.

See also http://jira.qos.ch/browse/SLF4J-167 

@author ceki
slf4j-api/src/test/java/org/slf4j/basicTests/DoubleCheckedInt.java