Get the :class:`rtcclient.models.Administrator` object
        by the email address

        :param email: the email address (e.g. somebody@gmail.com)
        :param returned_properties: the returned properties that you want.
            Refer to :class:`rtcclient.client.RTCClient` for more explanations
        :return: the :class:`rtcclient.models.Administrator` object
        :rtype: rtcclient.models.Administrator

def getAdministrator(self, email, returned_properties=None):
        """Get the :class:`rtcclient.models.Administrator` object
        by the email address

        :param email: the email address (e.g. somebody@gmail.com)
        :param returned_properties: the returned properties that you want.
            Refer to :class:`rtcclient.client.RTCClient` for more explanations
        :return: the :class:`rtcclient.models.Administrator` object
        :rtype: rtcclient.models.Administrator
        """

        if not isinstance(email, six.string_types) or "@" not in email:
            excp_msg = "Please specify a valid email address name"
            self.log.error(excp_msg)
            raise exception.BadValue(excp_msg)

        self.log.debug("Try to get Administrator whose email is %s",
                       email)
        rp = returned_properties
        administrators = self._getAdministrators(returned_properties=rp,
                                                 email=email)
        if administrators is not None:
            administrator = administrators[0]
            self.log.info("Get <Administrator %s> in <ProjectArea %s>",
                          administrator, self)
            return administrator

        msg = "No administrator's email is %s in <ProjectArea %s>" % (email,
                                                                      self)
        self.log.error(msg)
        raise exception.NotFound(msg)