Cambie que el metodo public Device getCurrentDevice() retorno null cuando no existen dispositivos en lugar de tirar null
Agregue los deepCopy
Modifique el device porque estaba mal hecho. Utilizaba el device como el zkSoftware en lugar de hacer tomar el SoapDevice