loadChilds(device, deviceDN);
return device;
} catch (NameNotFoundException e) {
throw new ConfigurationNotFoundException("Device with specified name not found",e);
} catch (NamingException e) {
throw new ConfigurationException(e);
} catch (CertificateException e) {
throw new ConfigurationException(e);
} finally {
// if this loadDevice call initialized the cache, then clean it up
if (doCleanUpCache) currentlyLoadedDevicesLocal.remove();
}