@Override
    @DB
    public boolean processAnswers(long agentId, long seq, Answer[] answers) {
      /*
       * Do not collect Direct Network usage stats if the Traffic Monitor is not owned by this mgmt server
       */
      HostVO host = _hostDao.findById(agentId);
      if (host != null) {
        if ((host.getManagementServerId() == null)
            || (mgmtSrvrId != host.getManagementServerId())) {
          s_logger.warn(
              "Not the owner. Not collecting Direct Network usage from  TrafficMonitor : "
                  + agentId);
          return false;
        }
      } else {
        s_logger.warn(
            "Agent not found. Not collecting Direct Network usage from  TrafficMonitor : "
                + agentId);
        return false;
      }

      GlobalLock scanLock =
          GlobalLock.getInternLock("direct.network.usage.collect" + host.getDataCenterId());
      try {
        if (scanLock.lock(10)) {
          try {
            return collectDirectNetworkUsage(host);
          } finally {
            scanLock.unlock();
          }
        }
      } finally {
        scanLock.releaseRef();
      }
      return false;
    }