private static function doPropertyBuild(MetaClass $class, MetaClassProperty $property, $isNamed) { if ($parentProperty = $class->isRedefinedProperty($property->getName())) { // check wheter property fetch strategy becomes lazy if ($parentProperty->getFetchStrategyId() != $property->getFetchStrategyId() && $property->getFetchStrategyId() === FetchStrategy::LAZY) { return true; } return false; } if ($isNamed && $property->getName() == 'name') { return false; } if ($property->getName() == 'id' && !$property->getClass()->getParent()) { return false; } // do not redefine parent's properties if ($property->getClass()->getParent() && array_key_exists($property->getName(), $property->getClass()->getAllParentsProperties())) { return false; } return true; }