@Override
 public int getChildCount(Object parent) {
   int resul = 0;
   if (parent instanceof DataProfesores) {
     DataProfesores data = (DataProfesores) parent;
     resul = data.getDepartamentos().size();
   }
   if (parent instanceof Departamento) {
     Departamento data = (Departamento) parent;
     resul = data.getProfesores().size();
   }
   // Profesor->no children
   return resul;
 }
 @Override
 public int getIndexOfChild(Object parent, Object child) {
   int resul = -1;
   if (parent instanceof DataProfesores) {
     DataProfesores data = (DataProfesores) parent;
     resul = data.getDepartamentos().indexOf(child);
   }
   if (parent instanceof Departamento) {
     Departamento data = (Departamento) parent;
     resul = data.getProfesores().indexOf(child);
   }
   // Profesor->no index
   return resul;
 }
 @Override
 public Object getChild(Object parent, int index) {
   Object resul = null;
   if (parent instanceof DataProfesores) {
     DataProfesores data = (DataProfesores) parent;
     resul = data.getDepartamentos().get(index);
   }
   if (parent instanceof Departamento) {
     Departamento data = (Departamento) parent;
     resul = data.getProfesores().get(index);
   }
   // Profesor->null
   return resul;
 }