private Answer execute(SetPortForwardingRulesCommand cmd) {
    String routerIp = cmd.getAccessDetail(NetworkElementCommand.ROUTER_IP);
    String[] results = new String[cmd.getRules().length];
    int i = 0;

    boolean endResult = true;
    for (PortForwardingRuleTO rule : cmd.getRules()) {
      String result = null;
      final Script command = new Script(_firewallPath, _timeout, s_logger);

      command.add(routerIp);
      command.add(rule.revoked() ? "-D" : "-A");
      command.add("-P ", rule.getProtocol().toLowerCase());
      command.add("-l ", rule.getSrcIp());
      command.add("-p ", rule.getStringSrcPortRange());
      command.add("-r ", rule.getDstIp());
      command.add("-d ", rule.getStringDstPortRange());
      result = command.execute();
      if (result == null) {
        results[i++] = null;
      } else {
        results[i++] = "Failed";
        endResult = false;
      }
    }

    return new SetPortForwardingRulesAnswer(cmd, results, endResult);
  }