protected function checkAndGetBusters()
    {
        // if no bustersJson, exception
        if ($this->fileSystem->fileExists($this->config['bustersJsonPath']) === false) {
            throw new LengthException('busters json not found.');
        }

        // get busters json and decode it
        $bustersJson = $this->fileSystem->getFile($this->config['bustersJsonPath']);
        if ($bustersJson == '') {
            throw new UnderflowException('busters json is empty.');
        }
        $busters = json_decode($bustersJson);

        // is it valid json?
        if (json_last_error() !== JSON_ERROR_NONE) {
            throw new UnexpectedValueException('bustersJson is invalid JSON.');
        }

        return $busters;
    }