public function get()
    {
        $anonymous = !$this->connection->isBound();

        try {
            $rootDse = self::doLdapQuery($anonymous);
        } catch (\Exception $e) {
            throw new LdapConnectionException(sprintf(
                'Unable to query the RootDSE. %s',
                $e->getMessage()
            ), $e->getCode());
        } finally {
            // Make sure to set things back to how they were...
            if ($anonymous && $this->connection->isBound()) {
                $this->connection->close();
            }
        }

        return $rootDse;
    }