public function isDrupalVmBooted() {
    if (!$this->commandExists('vagrant')) {
      $this->isDrupalVmBooted = FALSE;
    }

    if (is_null($this->isDrupalVmBooted)) {
      $status = $this->getDrupalVmStatus();
      $machine_name = $this->getConfigValue('project.machine_name');
      $this->isDrupalVmBooted = !empty($status[$machine_name]['state'])
        && $status[$machine_name]['state'] == 'running';

      $statement = $this->isDrupalVmBooted ? "is" : "is not";
      $this->logger->debug("Drupal VM $statement booted.");
    }

    return $this->isDrupalVmBooted;
  }