code: public void move(Robot robot) {
  	if (!robotsPosition.containsKey(robot)) {
  	    throw new IllegalArgumentException("Robot doesn't exist");
  	}
  	if (!robot.getData().isMobile()) {
  	    throw new IllegalArgumentException("Robot can't move");
  	}
  
  	Point newPosition = getReferenceField(robot, 1);
  	if (!isOccupied(newPosition)) {
  	    Point oldPosition = robotsPosition.get(robot);
  	    robotsPosition.put(robot, newPosition);
  	    eventDispatcher.fireEvent(new RobotMovedEvent(robot, oldPosition, newPosition));
  	}
  
      }
docs: Changes the position of a robot to its current reference field
  
  @param robot the robot