throw new IllegalStateException("Value has already been set (and can only be set once)");
this.value = value;
final SimpleConditionSynchronizer s = sync;
sync = null; // must be done before signal
this.f = null;
s.signalAll();
}
private void setException0(Throwable t) {
if (sync == null)
throw new IllegalStateException("Value has already been set (and can only be set once)");