// Path: src/main/java/com/github/robocup_atan/atan/model/enums/PlayMode.java
// public enum PlayMode {
// 
//     /**
//      * The mode of a game before it starts.
//      */
//     BEFORE_KICK_OFF,
// 
//     /**
//      * The time has finished.
//      */
//     TIME_OVER,
// 
//     /**
//      * The default play mode.
//      */
//     PLAY_ON,
// 
//     /**
//      * We get kick off!
//      */
//     KICK_OFF_OWN,
// 
//     /**
//      * They get kick off.
//      */
//     KICK_OFF_OTHER,
// 
//     /**
//      * We get a kick in.
//      */
//     KICK_IN_OWN,
// 
//     /**
//      * They get a kick in.
//      */
//     KICK_IN_OTHER,
// 
//     /**
//      * We get a free kick.
//      */
//     FREE_KICK_OWN,
// 
//     /**
//      * They get a free kick.
//      */
//     FREE_KICK_OTHER,
// 
//     /**
//      * We commited a free kick fault.
//      */
//     FREE_KICK_FAULT_OWN,
// 
//     /**
//      * They commited a free kick fault.
//      */
//     FREE_KICK_FAULT_OTHER,
// 
//     /**
//      * We get a corner kick.
//      */
//     CORNER_KICK_OWN,
// 
//     /**
//      * They get a corner kick.
//      */
//     CORNER_KICK_OTHER,
// 
//     /**
//      * We get a goal kick.
//      */
//     GOAL_KICK_OWN,
// 
//     /**
//      * They get a goal kick.
//      */
//     GOAL_KICK_OTHER,
// 
//     /**
//      * We scored!
//      */
//     GOAL_OWN,
// 
//     /**
//      * They scored = (
//      */
//     GOAL_OTHER,
// 
//     /**
//      * Kick off for the left team.
//      */
//     KICK_OFF_L,
// 
//     /**
//      * Kick off for the right team.
//      */
//     KICK_OFF_R,
// 
//     /**
//      * Kick in for the left team.
//      */
//     KICK_IN_L,
// 
//     /**
//      * Kick in for the right team.
//      */
//     KICK_IN_R,
// 
//     /**
//      * Free kick for the right team.
//      */
//     FREE_KICK_R,
// 
//     /**
//      * Free kick for the left team.
//      */
//     FREE_KICK_L,
// 
//     /**
//      * Free kick fault for the left team.
//      */
//     FREE_KICK_FAULT_L,
// 
//     /**
//      * Free kick fault for the left team.
//      */
//     FREE_KICK_FAULT_R,
// 
//     /**
//      * Corner kick for the right team.
//      */
//     CORNER_KICK_R,
// 
//     /**
//      * Corner kick for the left team.
//      */
//     CORNER_KICK_L,
// 
//     /**
//      * Goal kick for the right team.
//      */
//     GOAL_KICK_R,
// 
//     /**
//      * Goal kick for the left team.
//      */
//     GOAL_KICK_L,
// 
//     /**
//      * Right team scored.
//      */
//     GOAL_R,
// 
//     /**
//      * Left team scored.
//      */
//     GOAL_L;
// }
// 
// Path: src/main/java/com/github/robocup_atan/atan/model/enums/ViewAngle.java
// public enum ViewAngle {
// 
//     /**
//      * A narrow view angle.
//      */
//     NARROW,
// 
//     /**
//      * A normal view angle.
//      */
//     NORMAL,
// 
//     /**
//      * A wide view angle.
//      */
//     WIDE
// }
// 
// Path: src/main/java/com/github/robocup_atan/atan/model/enums/ViewQuality.java
// public enum ViewQuality {
// 
//     /**
//      * A high view quality.
//      */
//     HIGH,
// 
//     /**
//      * A low view quality.
//      */
//     LOW
// }


import com.github.robocup_atan.atan.model.enums.ViewQuality;
import java.util.List;
import java.util.Vector;
import com.github.robocup_atan.atan.model.enums.PlayMode;
import com.github.robocup_atan.atan.model.enums.ViewAngle;
     */
    public void addTurnNeckCommand(int angle) {
        StringBuilder buf = new StringBuilder();
        buf.append("(turn_neck ");
        buf.append(angle);
        buf.append(')');
        fifo.add(fifo.size(), buf.toString());
    }

    /**
     * This command broadcasts the message throughout the field. Any player
     * near enough (specified with audio_cut_dist default 50.0 meters), with
     * enough hearing capacity will hear the message.
     *
     * @param message A valid String to say.
     */
    public void addSayCommand(String message) {
        StringBuilder buf = new StringBuilder();
        buf.append("(say ");
        buf.append(message);
        buf.append(')');
        fifo.add(fifo.size(), buf.toString());
    }

    /**
     * Trainer only command.
     * Changes the play mode of the server.
     *
     * @param playMode a {@link com.github.robocup_atan.atan.model.enums.PlayMode} object.
     */
// Path: src/main/java/com/github/robocup_atan/atan/model/enums/PlayMode.java
// public enum PlayMode {
// 
//     /**
//      * The mode of a game before it starts.
//      */
//     BEFORE_KICK_OFF,
// 
//     /**
//      * The time has finished.
//      */
//     TIME_OVER,
// 
//     /**
//      * The default play mode.
//      */
//     PLAY_ON,
// 
//     /**
//      * We get kick off!
//      */
//     KICK_OFF_OWN,
// 
//     /**
//      * They get kick off.
//      */
//     KICK_OFF_OTHER,
// 
//     /**
//      * We get a kick in.
//      */
//     KICK_IN_OWN,
// 
//     /**
//      * They get a kick in.
//      */
//     KICK_IN_OTHER,
// 
//     /**
//      * We get a free kick.
//      */
//     FREE_KICK_OWN,
// 
//     /**
//      * They get a free kick.
//      */
//     FREE_KICK_OTHER,
// 
//     /**
//      * We commited a free kick fault.
//      */
//     FREE_KICK_FAULT_OWN,
// 
//     /**
//      * They commited a free kick fault.
//      */
//     FREE_KICK_FAULT_OTHER,
// 
//     /**
//      * We get a corner kick.
//      */
//     CORNER_KICK_OWN,
// 
//     /**
//      * They get a corner kick.
//      */
//     CORNER_KICK_OTHER,
// 
//     /**
//      * We get a goal kick.
//      */
//     GOAL_KICK_OWN,
// 
//     /**
//      * They get a goal kick.
//      */
//     GOAL_KICK_OTHER,
// 
//     /**
//      * We scored!
//      */
//     GOAL_OWN,
// 
//     /**
//      * They scored = (
//      */
//     GOAL_OTHER,
// 
//     /**
//      * Kick off for the left team.
//      */
//     KICK_OFF_L,
// 
//     /**
//      * Kick off for the right team.
//      */
//     KICK_OFF_R,
// 
//     /**
//      * Kick in for the left team.
//      */
//     KICK_IN_L,
// 
//     /**
//      * Kick in for the right team.
//      */
//     KICK_IN_R,
// 
//     /**
//      * Free kick for the right team.
//      */
//     FREE_KICK_R,
// 
//     /**
//      * Free kick for the left team.
//      */
//     FREE_KICK_L,
// 
//     /**
//      * Free kick fault for the left team.
//      */
//     FREE_KICK_FAULT_L,
// 
//     /**
//      * Free kick fault for the left team.
//      */
//     FREE_KICK_FAULT_R,
// 
//     /**
//      * Corner kick for the right team.
//      */
//     CORNER_KICK_R,
// 
//     /**
//      * Corner kick for the left team.
//      */
//     CORNER_KICK_L,
// 
//     /**
//      * Goal kick for the right team.
//      */
//     GOAL_KICK_R,
// 
//     /**
//      * Goal kick for the left team.
//      */
//     GOAL_KICK_L,
// 
//     /**
//      * Right team scored.
//      */
//     GOAL_R,
// 
//     /**
//      * Left team scored.
//      */
//     GOAL_L;
// }
// 
// Path: src/main/java/com/github/robocup_atan/atan/model/enums/ViewAngle.java
// public enum ViewAngle {
// 
//     /**
//      * A narrow view angle.
//      */
//     NARROW,
// 
//     /**
//      * A normal view angle.
//      */
//     NORMAL,
// 
//     /**
//      * A wide view angle.
//      */
//     WIDE
// }
// 
// Path: src/main/java/com/github/robocup_atan/atan/model/enums/ViewQuality.java
// public enum ViewQuality {
// 
//     /**
//      * A high view quality.
//      */
//     HIGH,
// 
//     /**
//      * A low view quality.
//      */
//     LOW
// }


// Path: src/main/java/com/github/robocup_atan/atan/model/CommandFactory.java
import com.github.robocup_atan.atan.model.enums.ViewQuality;
import java.util.List;
import java.util.Vector;
import com.github.robocup_atan.atan.model.enums.PlayMode;
import com.github.robocup_atan.atan.model.enums.ViewAngle;

     */
    public void addTurnNeckCommand(int angle) {
        StringBuilder buf = new StringBuilder();
        buf.append("(turn_neck ");
        buf.append(angle);
        buf.append(')');
        fifo.add(fifo.size(), buf.toString());
    }

    /**
     * This command broadcasts the message throughout the field. Any player
     * near enough (specified with audio_cut_dist default 50.0 meters), with
     * enough hearing capacity will hear the message.
     *
     * @param message A valid String to say.
     */
    public void addSayCommand(String message) {
        StringBuilder buf = new StringBuilder();
        buf.append("(say ");
        buf.append(message);
        buf.append(')');
        fifo.add(fifo.size(), buf.toString());
    }

    /**
     * Trainer only command.
     * Changes the play mode of the server.
     *
     * @param playMode a {@link com.github.robocup_atan.atan.model.enums.PlayMode} object.
     */
    public void addChangePlayModeCommand(PlayMode playMode) {