public function move($newParentDn, $deleteOldRdn = true)
    {
        // First we'll explode the current models distinguished name and keep their attributes prefixes.
        $parts = Utilities::explodeDn($this->getDn(), $removeAttrPrefixes = false);

        // If the current model has an empty RDN, we can't move it.
        if ((int) Arr::first($parts) === 0) {
            throw new UnexpectedValueException("Current model does not contain an RDN to move.");
        }

        // Looks like we have a DN. We'll retrieve the leftmost RDN (the identifier).
        $rdn = Arr::get($parts, 0);

        return $this->rename($rdn, $newParentDn, $deleteOldRdn);
    }