@Override public void toData(DataOutput out) throws IOException { readLock.lock(); try { super.toData(out); } finally { readLock.unlock(); } }
@Override public void forEach(Consumer<? super E> action) { readLock.lock(); try { super.forEach(action); } finally { readLock.unlock(); } }
@Override public void fromData(DataInput in) throws IOException, ClassNotFoundException { writeLock.lock(); try { super.fromData(in); } finally { writeLock.unlock(); } }
@Override public void clear() { writeLock.lock(); try { super.clear(); } finally { writeLock.unlock(); } }