protected function resolveDefitions(PropertyDefinitionCollectionInterface $propertyDefinitionCollection = null)
    {
        if ($propertyDefinitionCollection instanceof PropertyDefinitionCollectionInterface) {
            return $propertyDefinitionCollection->import($this->propertiesAndTypes());
        }

        $className = $this->calledClassName();

        if ($this->runtimeCache->has($className, __METHOD__)) {
            return $this->runtimeCache->get($className, __METHOD__);
        }

        $propertyDefinitionCollection = $this->createPropertyDefinitionCollection();

        $propertyDefinitionCollection->import($this->propertiesAndTypes());

        $this->runtimeCache->set($className, $propertyDefinitionCollection, __METHOD__);

        return $propertyDefinitionCollection;
    }
protected function resolveDefitions(PropertyDefinitionCollectionInterface $propertyDefinitionCollection = null)
    {
        if ($propertyDefinitionCollection instanceof PropertyDefinitionCollectionInterface) {
            return $propertyDefinitionCollection->import($this->propertiesAndTypes());
        }

        $className = $this->calledClassName();

        if ($this->runtimeCache->has($className, __METHOD__)) {
            return $this->runtimeCache->get($className, __METHOD__);
        }

        $propertyDefinitionCollection = $this->createPropertyDefinitionCollection();

        $propertyDefinitionCollection->import($this->propertiesAndTypes());

        $this->runtimeCache->set($className, $propertyDefinitionCollection, __METHOD__);

        return $propertyDefinitionCollection;
    }
protected function resolveDefitions ( PropertyDefinitionCollectionInterface $ propertyDefinitionCollection = null ) { if ( $ propertyDefinitionCollection instanceof PropertyDefinitionCollectionInterface ) { return $ propertyDefinitionCollection -> import ( $ this -> propertiesAndTypes ( ) ) ; } $ className = $ this -> calledClassName ( ) ; if ( $ this -> runtimeCache -> has ( $ className , __METHOD__ ) ) { return $ this -> runtimeCache -> get ( $ className , __METHOD__ ) ; } $ propertyDefinitionCollection = $ this -> createPropertyDefinitionCollection ( ) ; $ propertyDefinitionCollection -> import ( $ this -> propertiesAndTypes ( ) ) ; $ this -> runtimeCache -> set ( $ className , $ propertyDefinitionCollection , __METHOD__ ) ; return $ propertyDefinitionCollection ; }
Resolve and if necessary initialize the property definition collection.

@param PropertyDefinitionCollectionInterface $propertyDefinitionCollection

@return PropertyDefinitionCollectionInterface
Resolve and if necessary initialize the property definition collection .