private void changeRequestsToProcessing(Session sess, InstrumentRun ir) throws ProductException {

    // Get any requests on that run
    Map requests = new HashMap();
    List wells =
        sess.createQuery(
                "SELECT pw from PlateWell as pw "
                    + " join pw.plate as plate where plate.idInstrumentRun ="
                    + ir.getIdInstrumentRun())
            .list();
    for (Iterator i1 = wells.iterator(); i1.hasNext(); ) {
      PlateWell well = (PlateWell) i1.next();
      if (well.getIdRequest() == null) {
        break;
      }
      if (!well.getIdRequest().equals("") && !requests.containsKey(well.getIdRequest())) {
        Request req = (Request) sess.get(Request.class, well.getIdRequest());
        requests.put(req.getIdRequest(), req);
      }
    }

    // Change request Status
    for (Iterator i = requests.keySet().iterator(); i.hasNext(); ) {
      int idReq = (Integer) i.next();
      Request req = (Request) sess.get(Request.class, idReq);
      if (req.getCodeRequestStatus() == null) {
        ProductUtil.updateLedgerOnRequestStatusChange(
            sess, req, req.getCodeRequestStatus(), RequestStatus.PROCESSING);
        req.setCodeRequestStatus(RequestStatus.PROCESSING);
      } else if (req.getCodeRequestStatus().equals(RequestStatus.NEW)
          || req.getCodeRequestStatus().equals(RequestStatus.SUBMITTED)) {
        ProductUtil.updateLedgerOnRequestStatusChange(
            sess, req, req.getCodeRequestStatus(), RequestStatus.PROCESSING);
        req.setCodeRequestStatus(RequestStatus.PROCESSING);
      }
    }
    sess.flush();
  }