public function setAttribute( string $name, $value )
   {

      if ( ! $this->_supportedAttributes->has( $name ) )
      {
         // Unknown attribute
         throw new ArgumentException(
            'name', $name, 'Can not set the DB driver "' . $this->_type . '" not supports a attribute with this name!'
         );
      }

      if ( ! $this->_supportedAttributes->get( $name )->validateValue( $value ) )
      {
         // Invalid value
         throw new ArgumentException(
            'value', $value, 'Can not set the DB driver "' . $this->_type . '" attribute "' . $name .
                             '" value, because the value is invalid!'
         );
      }

      $this->_attributes[ $name ] = $value;

      return $this;

   }