public function apply($testable, array $config = array()) {
		$lines = $testable->lines();
		$tokens = $testable->tokens();
		$lastBlankLineId = -2;

		foreach ($lines as $lineId => $line) {
			$lineNumber = $lineId + 1;
			$ignore = false;
			$key = $testable->findTokenByLine($lineNumber);

			if (isset($tokens[$key])) {
				$token = $tokens[$key];
				$ignore = in_array($token['id'], $this->ignoreableTokens, true);
			}
			if (!$ignore && preg_match('/^$/', $line) === 1) {
				if ($lastBlankLineId + 1 === $lineId) {
					$this->addViolation(array(
						'message' => 'Multiple blank lines.',
						'line' => $lineNumber,
					));
				}
				$lastBlankLineId = $lineId;
			}
		}
	}