/* 96 */ synchronized (this.cache)
/* */ {
/* 98 */ Entry entry = (Entry)this.cache.get(key);
/* 99 */ if (entry == null)
/* */ {
/* 101 */ Identifiable obj = this.delegate.get(key);
/* 102 */ entry = new Entry(obj);
/* 103 */ this.cache.put(obj.getId(), entry);
/* 104 */ return obj;
/* */ }
/* 106 */ if (entry.state != State.FINISHED)
/* 107 */ throw new IllegalStateException("entry " + entry + " is not finished");
/* 108 */ entry.state = State.IN_OPERATION;