/** * Non-blocking, not thread-safe * * @return Next Available remote control. Null if none is available. */ protected RemoteControlProxy findNextAvailableRemoteControl() { for (RemoteControlProxy remoteControl : remoteControls) { if (remoteControl.canHandleNewSession()) { return remoteControl; } } return null; }
/** * Not thread safe. * * @return All available remote controls. Never null. */ public List<RemoteControlProxy> availableRemoteControls() { LinkedList<RemoteControlProxy> availableremoteControls; availableremoteControls = new LinkedList<RemoteControlProxy>(); for (RemoteControlProxy remoteControl : remoteControls) { if (remoteControl.canHandleNewSession()) { availableremoteControls.add(remoteControl); } } return Arrays.asList( availableremoteControls.toArray(new RemoteControlProxy[availableremoteControls.size()])); }