original_string: public function unique($criteria = null, array $values = array())
      {
          if (!$this->_properties['primary_key'] || (!$values && !$criteria))
              throw new Exception(sprintf(self::E_PrimaryKey, get_called_class()), 1);
  
          $that = clone $this;
          $values ? $that->find($criteria, $values) : $that->findByPK($criteria);
  
          return ($that->dry() || $this->pkCompare($that->pkValue()));
      }
code: public function unique($criteria = null, array $values = array())
      {
          if (!$this->_properties['primary_key'] || (!$values && !$criteria))
              throw new Exception(sprintf(self::E_PrimaryKey, get_called_class()), 1);
  
          $that = clone $this;
          $values ? $that->find($criteria, $values) : $that->findByPK($criteria);
  
          return ($that->dry() || $this->pkCompare($that->pkValue()));
      }
code_tokens: public function unique ( $ criteria = null , array $ values = array ( ) ) { if ( ! $ this -> _properties [ 'primary_key' ] || ( ! $ values && ! $ criteria ) ) throw new Exception ( sprintf ( self :: E_PrimaryKey , get_called_class ( ) ) , 1 ) ; $ that = clone $ this ; $ values ? $ that -> find ( $ criteria , $ values ) : $ that -> findByPK ( $ criteria ) ; return ( $ that -> dry ( ) || $ this -> pkCompare ( $ that -> pkValue ( ) ) ) ; }
docstring: Check not existance
docstring_tokens: Check not existance