private IRobot RobotActivate(/*RobotInitParameters command*/ string coordinates, IGrid <CoordinateBase, DirectionBase> grid)
        {
            var position = coordinates.Split(' ');

            int           x = 0, y = 0;
            DirectionBase direction = null;

            if (position.Count() != 3 || !Int32.TryParse(position[0], out x) || !Int32.TryParse(position[1], out y))
            {
                return(null);
            }

            switch (position[2])
            {
            case "N":
                direction = new _2DDirection(0);
                break;

            case "S":
                direction = new _2DDirection(180);
                break;

            case "E":
                direction = new _2DDirection(90);
                break;

            case "W":
                direction = new _2DDirection(270);
                break;

            default:
                return(null);
            }

            return(grid.AcquireRobot(new _2DCoordinate(x, y), direction));
        }