private function _crawlNode(\Twig_Node $node)
	{
		if ($node instanceof TransNode && !$node->getNode('body') instanceof \Twig_Node_Expression_GetAttr) {
			// trans block
			$domain = $node->getNode('domain')->getAttribute('value');
			$message = $node->getNode('body')->getAttribute('data');
			$this->messages->set($message, $this->prefix . $message, $domain);
		} elseif ($node instanceof \Twig_Node_Print) {
			// trans filter (be carefull of how you chain your filters)
			$message = $this->_extractMessage($node->getNode('expr'));
			$domain = $this->_extractDomain($node->getNode('expr'));
			if ($message !== null && $domain !== null) {
				$this->messages->set($message, $this->prefix . $message, $domain);
			}
		} else {
			// continue crawling
			foreach ($node as $child) {
				if ($child != null) {
					$this->_crawlNode($child);
				}
			}
		}
	}