private function resolveFactory(Definition $definition)
{
if (method_exists($definition, 'getFactory') && $definition->getFactory() !== null) {
return $definition->getFactory();
}
if (method_exists($definition, 'getFactoryClass') && $definition->getFactoryClass(false) && $definition->getFactoryMethod(false)) {
return array($definition->getFactoryClass(false), $definition->getFactoryMethod(false));
}
if (method_exists($definition, 'getFactoryService') && $definition->getFactoryService(false) && $definition->getFactoryMethod(false)) {
return array(new Reference($definition->getFactoryService(false)), $definition->getFactoryMethod(false));
}
return null;
}