class ConditionPlain { private final java.util.concurrent.locks.Lock $canResumeLock = new java.util.concurrent.locks.ReentrantLock(); private final java.util.concurrent.locks.Condition canResume = $canResumeLock.newCondition(); private volatile boolean paused; @java.lang.SuppressWarnings("all") void unpause() { this.$canResumeLock.lock(); try { paused = false; this.canResume.signal(); } finally { this.$canResumeLock.unlock(); } } @java.lang.SuppressWarnings("all") void pause() { this.$canResumeLock.lock(); try { try { while (this.isPaused()) this.canResume.await(); } catch (final java.lang.InterruptedException e) { throw new java.lang.RuntimeException(e); } } finally { this.$canResumeLock.unlock(); } } @java.lang.SuppressWarnings("all") private boolean isPaused() { return this.paused; } }