@Override public void waitForHold() { if (Thread.interrupted()) { throw new Ice.OperationInterruptedException(); } List<IncomingConnectionFactory> incomingConnectionFactories; synchronized (this) { checkForDeactivation(); incomingConnectionFactories = new ArrayList<IncomingConnectionFactory>(_incomingConnectionFactories); } for (IncomingConnectionFactory factory : incomingConnectionFactories) { try { factory.waitUntilHolding(); } catch (InterruptedException ex) { throw new Ice.OperationInterruptedException(); } } }