protected function findBlockControllers()
	{
		$blockContentCache = &$this->blockContentCache;

		$blockCollection = $this->getBlockCollection();

		// Iterates through all blocks and calls the function passed
		$this->iterateBlocks(function(Block $block, &$blockController) use ($blockCollection, &$blockContentCache) {
			// Skip controller creation if cache found
			$blockId = $block->getId();

			if (array_key_exists($blockId, $blockContentCache)) {
				$blockController = new CachedBlockController($blockContentCache[$blockId], $block);
				return;
			}

			$blockController = $blockCollection->createController($block);
		});
	}