public function initialize($lazyProperties = [], $triggerMethod, $targetObject)
    {
        foreach ($lazyProperties as $property) {
            /* @var $property LazyProperty */
            $this->validateLazyProperty($property);

            if ($this->wasInitialized($property)) {
                continue ;
            }

            if (!$property->hasTriggers()) {
                $this->initializeProperty($property, $targetObject);
                continue ;
            }

            if ($property->isTriggeredBy($triggerMethod)) {
                $this->initializeProperty($property, $targetObject);
                continue ;
            }
        }
    }
public function initialize($lazyProperties = [], $triggerMethod, $targetObject)
    {
        foreach ($lazyProperties as $property) {
            /* @var $property LazyProperty */
            $this->validateLazyProperty($property);

            if ($this->wasInitialized($property)) {
                continue ;
            }

            if (!$property->hasTriggers()) {
                $this->initializeProperty($property, $targetObject);
                continue ;
            }

            if ($property->isTriggeredBy($triggerMethod)) {
                $this->initializeProperty($property, $targetObject);
                continue ;
            }
        }
    }
@param array $lazyProperties
@param string $triggerMethod
@param $targetObject
@throws InvalidArgumentException

@api