public function buildObjectBasedOn(BuildPlan $p) { /* @var $p StaticFactoryProductBuildPlan */ $factoryMethod = $this->findFactoryMethod($this->getReflectedClassBasedOn($p->getFactoryClass()), $p->getFactoryMethodCall()->getSelector()); $builtObject = $this->callSpecifiedMethod($factoryMethod, null, $p->getFactoryMethodCall()->getAssignedParamValues()); $this->buildPlanByBuildObject->attach($builtObject, $p); return $builtObject; }