requests-simulator

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Profile.java b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Profile.java
index f080de2..8ab43c2 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Profile.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Profile.java
@@ -9,6 +9,7 @@ import br.ufrgs.inf.prosoft.requestssimulator.requests.RequestPlan;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Stream;
@@ -71,7 +72,11 @@ public class Profile {
     }
 
     public void execute() {
-        this.sessions.forEach(Session::execute);
+        for (Iterator<Session> iterator = this.sessions.iterator(); iterator.hasNext();) {
+            Session session = iterator.next();
+            session.execute();
+            iterator.remove();
+        }
     }
 
     @Override
diff --git a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Session.java b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Session.java
index d4c161b..54ba839 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Session.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/requestssimulator/Session.java
@@ -10,6 +10,7 @@ import br.ufrgs.inf.prosoft.requestssimulator.requests.RequestPlan;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
@@ -67,7 +68,11 @@ public class Session {
     }
 
     public void execute() {
-        this.requests.forEach(Request::fire);
+        for (Iterator<Request> iterator = this.requests.iterator(); iterator.hasNext();) {
+            Request request = iterator.next();
+            request.fire();
+            iterator.remove();
+        }
     }
 
     public Request pickNextRequest(Request currentRequest) {