code: protected function find( $key ) {
  		$keyLen = strlen( $key );
  
  		$u = Util::hash( $key );
  		$upos = ( $u << 3 ) & 2047;
  		$hashSlots = $this->readInt31( $upos + 4 );
  		if ( !$hashSlots ) {
  			return false;
  		}
  		$hashPos = $this->readInt31( $upos );
  		$keyHash = $u;
  		$u = Util::unsignedShiftRight( $u, 8 );
  		$u = Util::unsignedMod( $u, $hashSlots );
  		$u <<= 3;
  		$keyPos = $hashPos + $u;
  
  		for ( $i = 0; $i < $hashSlots; $i++ ) {
  			$hash = $this->readInt32( $keyPos );
  			$pos = $this->readInt31( $keyPos + 4 );
  			if ( !$pos ) {
  				return false;
  			}
  			$keyPos += 8;
  			if ( $keyPos == $hashPos + ( $hashSlots << 3 ) ) {
  				$keyPos = $hashPos;
  			}
  			if ( $hash === $keyHash ) {
  				if ( $keyLen === $this->readInt31( $pos ) ) {
  					$dataLen = $this->readInt31( $pos + 4 );
  					$dataPos = $pos + 8 + $keyLen;
  					$foundKey = $this->read( $pos + 8, $keyLen );
  					if ( $foundKey === $key ) {
  						// Found
  						$this->dataLen = $dataLen;
  						$this->dataPos = $dataPos;
  
  						return true;
  					}
  				}
  			}
  		}
  
  		return false;
  	}
docs: Search the CDB file for a key.
  
  Sets `dataLen` and `dataPos` properties if successful.
  
  @param string $key
  @return bool Whether the key was found.