void () { synchronized (myLock) { // Here be dragons: // VcsLogProgressManager can cancel us when it's getting disposed, // and we can also get cancelled by invalid git executable. // Since we do not know what's up, we just restore the state, // and it is entirely possible to start another initialization after that. // Eventually, everything gets cancelled for good in VcsLogData.dispose. // But still. if (myState.equals(State.INITIALIZED)) { myState = State.CREATED; myInitialization = null; } } }