public function substitute()
{
if (isset($this->_substitutes[$this->_substituteIndex])) {
return $this->_substitutes[$this->_substituteIndex++];
}
return $this->_substitutes ? end($this->_substitutes) : null;
}