public function apply($testable, array $config = array()) {
		$tokens = $testable->tokens();
		$filtered = $testable->findAll(array(T_FUNCTION));

		foreach ($filtered as $key) {
			$token = $tokens[$key];
			$label = Parser::label($key, $tokens);
			$modifiers = Parser::modifiers($key, $tokens);
			$isClosure = Parser::closure($key, $tokens);
			if (in_array($label, $this->_magicMethods)) {
				continue;
			}
			if ($testable->findNext(array(T_PROTECTED), $modifiers) !== false) {
				$label = preg_replace('/^_/', '', $label);
			}
			if (!$isClosure && $label !== Inflector::camelize($label, false)) {
				$this->addViolation(array(
					'message' => 'Function "' . $label . '" is not in camelBack style',
					'line' => $tokens[$tokens[$key]['parent']]['line'],
				));
			}
		}
	}