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;
 }