public EventStrategy getEvent(int idStrategy) {
   // ArrayList<EventStrategy> tempEvents = new ArrayList<EventStrategy>(arrPriorityQueueEvents);
   for (EventStrategy tempEvent : arrEvents) {
     if (tempEvent.getIdStrategy() == idStrategy) {
       return tempEvent;
     }
   }
   return null;
 }
 @Override
 public int compare(EventStrategy a, EventStrategy b) {
   if (a.getPriorityQueue() > b.getPriorityQueue()) {
     return 1;
   } else if (a.getPriorityQueue() < b.getPriorityQueue()) {
     return -1;
   } else {
     return 0;
   }
 }
 private void serial_method() {
   for (EventStrategy tempEvent : arrEvents) {
     final TOKEN token = new TOKEN();
     token.setAttribute(0, tempEvent.getIdStrategy());
     token.setAttribute(1, gameEngine.getLayerScreenController().getTimeFactor());
     double timeEvent = tempEvent.execute();
     if (timeEvent >= 0) {
       if (tempEvent.getType().equals(TypeActivity.Purchase.toString())) {
         token.setAttribute(2, Params.simpackPurchase);
       }
       Sim.schedule(new SimEvent(Sim.time() + timeEvent, Params.endEvent, -1, token));
       //                System.out.println(" - New event, current time:" + Sim.time() + " -
       // FutureTime:" + (Sim.time() + timeEvent) + " - Time:" + timeEvent + " - Strategy:" +
       // tempEvent.getIdStrategy() + "-" + tempEvent.getType() + " - token:" + token);
       tempEvent.addWorkCounter();
     }
     if (arrEventsInstances.containsKey(tempEvent.getIdActivity())
         && tempEvent.getStateMachine().getStateIndex() > 0) {
       arrEventsInstances
           .get(tempEvent.getIdActivity())
           .setFirst(arrEventsInstances.get(tempEvent.getIdActivity()).getFirst() + 1);
     }
   }
   //        System.out.println("####### FIN ########");
   //        for (int i=0; i<arrEventsInstances.size(); i++){
   //            if (arrEventsInstances.containsKey(arrEvents.get(i).getIdActivity())){
   //                if (arrEventsInstances.get(arrEvents.get(i).getIdActivity()).getFirst() ==
   // arrEventsInstances.get(arrEvents.get(i).getIdActivity()).getSecond()){
   //
   // arrEventsInstances.get(arrEvents.get(i).getIdActivity()).setSecond(arrEventsInstances.get(arrEvents.get(i).getIdActivity()).getSecond() + 1);
   //                    if (arrEvents.get(i).getType().equals(TypeActivity.Operation.toString())){
   //                        addEvent(new
   // OperationStrategy(arrEvents.size(),(E_Operation)arrEvents.get(i).getData(),gameEngine));
   //                    }else
   //                    if (arrEvents.get(i).getType().equals(TypeActivity.Transport.toString())){
   //                        addEvent(new
   // TransportStrategy(arrEvents.size(),(E_TransportStore)arrEvents.get(i).getData(),gameEngine));
   //                    }else
   //                    if (arrEvents.get(i).getType().equals(TypeActivity.Store.toString())){
   //                        addEvent(new
   // StoreStrategy(arrEvents.size(),(E_TransportStore)arrEvents.get(i).getData(),gameEngine));
   //                    }
   //                    if (arrEvents.get(i).getType().equals(TypeActivity.Ship.toString())){
   //                        addEvent(new
   // ShipStrategy(arrEvents.size(),(E_Ship)arrEvents.get(i).getData(),gameEngine));
   //                    }
   //                }
   //                arrEventsInstances.get(arrEvents.get(i).getIdActivity()).setFirst(0);
   //            }
   //        }
   for (Integer tempIdActivity : arrIdActivities) {
     Pair<Integer, Integer> pairEventInstance = arrEventsInstances.get(tempIdActivity);
     if (pairEventInstance.getFirst() == pairEventInstance.getSecond()) {
       pairEventInstance.setSecond(pairEventInstance.getSecond() + 1);
       if (getEventByActivity(tempIdActivity)
           .getType()
           .equals(TypeActivity.Operation.toString())) {
         arrEvents.add(
             new OperationStrategy(
                 arrEvents.size(),
                 (E_Operation) getEventByActivity(tempIdActivity).getData(),
                 gameEngine));
       } else if (getEventByActivity(tempIdActivity)
           .getType()
           .equals(TypeActivity.Transport.toString())) {
         arrEvents.add(
             new TransportStrategy(
                 arrEvents.size(),
                 (E_TransportStore) getEventByActivity(tempIdActivity).getData(),
                 gameEngine));
       } else if (getEventByActivity(tempIdActivity)
           .getType()
           .equals(TypeActivity.Store.toString())) {
         arrEvents.add(
             new StoreStrategy(
                 arrEvents.size(),
                 (E_TransportStore) getEventByActivity(tempIdActivity).getData(),
                 gameEngine));
       }
       if (getEventByActivity(tempIdActivity).getType().equals(TypeActivity.Ship.toString())) {
         arrEvents.add(
             new ShipStrategy(
                 arrEvents.size(),
                 (E_Ship) getEventByActivity(tempIdActivity).getData(),
                 gameEngine));
       }
       updateEvents_OrderByPriority();
     }
     arrEventsInstances.get(tempIdActivity).setFirst(0);
   }
 }