protected void findDeviceDrivers() { for (Iterator i = devices.values().iterator(); i.hasNext();) {
private final void findDeviceDrivers() { final List devices; synchronized (this) { devices = new ArrayList(this.devices.values()); } for (Iterator i = devices.iterator(); i.hasNext();) {
    protected void findDeviceDrivers() {        for (Iterator i = devices.values().iterator(); i.hasNext();) {            final Device dev = (Device) i.next();            if (dev.getDriver() == null) {                final Driver drv = findDriver(dev);                if (drv != null) {                    try {                        dev.setDriver(drv);                        start(dev);                    } catch (DriverException ex) {                        BootLog.error("Cannot start " + dev.getId(), ex);                    } catch (DeviceNotFoundException ex) {                        // Should not happen                        BootLog.error("Device is gone before is can be started " + dev.getId(), ex);                    }                }            }        }    }