public function getDefinitionCache()
	{
		if( !isset($this->definitionCache)) {
			return null;
		}
		if( ! isset($this->_dc)) {
			if( is_string($this->definitionCache)) {
				$this->_dc = Yii::$app->get($this->definitionCache);
			} elseif( is_array($this->definitionCache)) {
				$this->_dc = Yii::createObject($this->definitionCache);
			}  elseif( is_object($this->definitionCache)) {
				$this->_dc = $this->definitionCache;
			}  else {
				throw new InvalidConfigException('invalid "definitionCache" attribute : string or object expected');
			}
			if( ! $this->_dc instanceof yii\caching\Cache ) {
				throw new InvalidConfigException('the workflow definition cache must implement the yii\caching\Cache interface');
			}
		}
		return $this->_dc;
	}