@Override
 public Sessions list() {
   Object obj =
       getEntity(
           entityType,
           VdcQueryType.GetVmByVmId,
           new IdQueryParameters(vmId),
           vmId.toString(),
           true);
   VM vm = (VM) obj;
   Sessions sessions = VmMapper.map(vm, new Sessions());
   org.ovirt.engine.api.model.VM vmModel = new org.ovirt.engine.api.model.VM();
   vmModel.setId(vm.getId().toString());
   if (sessions.isSetSessions()) {
     for (Session session : sessions.getSessions()) {
       setSessionId(session);
       setSessionVmId(vmModel, session);
       // only console user assumed to be an ovirt user, and only an ovirt-user has an ID & href
       if (session.isSetConsoleUser() && session.isConsoleUser()) {
         addLinksIncludingUser(session);
       } else {
         addLinks(session, org.ovirt.engine.api.model.VM.class);
       }
     }
   }
   return sessions;
 }
 @Override
 public Session get() {
   // Get all sessions and search for the session with this ID. Must be done this way because
   // there's no way to get session by ID from the engine.
   Sessions sessions = parent.list();
   if (sessions.isSetSessions()) {
     for (Session session : sessions.getSessions()) {
       if (session.getId().equals(id)) {
         return session;
       }
     }
   }
   throw new WebApplicationException(Response.Status.NOT_FOUND); // shouldn't happen.
 }