package gamecontrollers.turn;

import gamecontrollers.commands.GameplayActionCommand;
import java.util.List;

public class ReplayController {
    private List<GameplayActionCommand> replayList;

    public ReplayController(){

    }

    public void goForward(){

    }

    public void goBackward(){

    }

    public void goAll(){

    }

    public void setReplayList(List<GameplayActionCommand> replayList){

    }
}

@@ -83,29 +83,89 @@
 nd;%0A
-import java.util.List
+%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0Aimport java.util.ListIterator
 ;%0A%0Ap
@@ -251,226 +251,691 @@
 st;%0A
-%0A    public ReplayController()%7B%0A%0A    %7D%0A%0A    public void goForward()%7B%0A%0A    %7D%0A%0A    public void goBackward()%7B%0A%0A    %7D%0A%0A    public void goAll()%7B%0A%0A    %7D%0A%0A    public void setReplayList(List%3CGameplayActionCommand%3E replayList)%7B
+    ListIterator%3CGameplayActionCommand%3E iterator;%0A%0A    public ReplayController()%7B%0A        replayList = new ArrayList%3CGameplayActionCommand%3E();%0A    %7D%0A%0A    public void goForward()%7B%0A        if(iterator.hasNext())%7B%0A            iterator.next().execute();%0A        %7D%0A    %7D%0A%0A    public void goBackward()%7B%0A        if(iterator.hasPrevious())%7B%0A            iterator.previous().execute();%0A        %7D%0A    %7D%0A%0A    public void goAll()%7B%0A        for(GameplayActionCommand command : replayList)%7B%0A            command.execute();%0A        %7D%0A    %7D%0A%0A    public void setReplayList(List%3CGameplayActionCommand%3E replayList)%7B%0A        this.replayList.addAll(replayList);%0A        iterator = replayList.listIterator();
 %0A%0A  

Implement ReplayController