@Override
 public User updateUser(User user) {
   Object toUpdate = userDAO.getUserByUsername(user.getUsername());
   if (toUpdate != null) {
     User userToUpdate = (User) toUpdate;
     if (!userToUpdate.getPassword().equals(user.getPassword()))
       userToUpdate.setPassword(user.getPassword());
     if (!userToUpdate.getLastName().equals(user.getLastName()))
       userToUpdate.setLastName(user.getLastName());
     if (!userToUpdate.getPicture().equals(user.getPicture()))
       userToUpdate.setPicture(user.getPicture());
     if (!userToUpdate.getFirstName().equals(user.getFirstName()))
       userToUpdate.setFirstName(user.getFirstName());
     if (!userToUpdate.getEmail().equals(user.getEmail())) userToUpdate.setEmail(user.getEmail());
     Object outcome = userDAO.updateUser(userToUpdate);
     if (outcome != null) {
       return (User) outcome;
     }
   }
   return null;
 }