private function getPartsFromControllerName($controller)
{
if (3 != count($parts = explode(':', $controller))) {
throw new \InvalidArgumentException(sprintf('The "%s" controller is not a valid a:b:c controller string.', $controller));
}
list($moduleName, $controller, $action) = $parts;
$controller = str_replace('/', '\\', $controller);
$module = $this->moduleManager->getModule($moduleName);
if (!is_object($module)) {
throw new \RuntimeException(sprintf('Unable to locate module: %s, when parsing controller: %s', $moduleName, $controller));
}
$moduleName = $module->getName();
return [$module, $moduleName, $controller, $action];
}