state.set(Transitions.Started);
state.compareAndSet(Transitions.Starting, Transitions.Started);
    public void start() {        if (state.compareAndSet(Transitions.Initialised, Transitions.Starting)) {            doStart();            state.set(Transitions.Started);        }    }