public function find($identifier, array $fields = [ ])
    {
        // Get all result entries
        $results = $this->ldap->search(
            $this->base_dn,
            $this->search_filter . '=' . $identifier,
            ( $fields ?: $this->search_fields )
        );

        if (count($results) > 0) {
            $entry = $this->ldap->entry($results);

            // Returning a single LDAP entry
            if (isset( $entry[0] ) && ! empty( $entry[0] )) {
                return $entry[0];
            }
        }

        throw new EmptySearchResultException;
    }