class DbSetupTracker {

    public void launchIfNecessary(@Nonnull DbSetup dbSetup) {
        boolean skipLaunch = nextLaunchSkipped && dbSetup.equals(lastSetupLaunched);
        nextLaunchSkipped = false;
        if (skipLaunch) {
            return;
        }
        dbSetup.launch();
        lastSetupLaunched = dbSetup;
    }

}