@Override
 public boolean isReachable(DeviceId deviceId) {
   NetconfDevice netconfDevice = controller.getNetconfDevice(deviceId);
   if (netconfDevice == null) {
     log.debug(
         "Requested device id: {} is not associated to any " + "NETCONF Device",
         deviceId.toString());
     return false;
   }
   return netconfDevice.isActive();
 }
 @Override
 public NetconfDevice connectDevice(NetconfDeviceInfo deviceInfo) throws NetconfException {
   if (netconfDeviceMap.containsKey(deviceInfo.getDeviceId())) {
     log.info("Device {} is already present", deviceInfo);
     return netconfDeviceMap.get(deviceInfo.getDeviceId());
   } else {
     log.info("Creating NETCONF device {}", deviceInfo);
     NetconfDevice device = createDevice(deviceInfo);
     device.getSession().addDeviceOutputListener(downListener);
     return device;
   }
 }