private void scan(String device) throws IOException {

    switch (device.toUpperCase()) {
      case "SONAR":
        device = "S";
        break;
      case "LASER":
        device = "L";
        break;
      default:
        throw new IllegalArgumentException("Invalid device " + device);
    }

    mobileRobot.sendCommand(device + "1.SCAN");
    try {
      result = input.readLine();
    } catch (InterruptedIOException e) {
      result = input.readLine();
    }
    parseMeasure(result, measures);

    if (device.equals("S")) {
      occupancyMap.drawSonarScan(position, measures);
    } else if (device.equals("L")) {
      occupancyMap.drawLaserScan(position, measures);
    }
  }