'Refresh the local state of the object.  You can either pass
new state data in as the parameter ``data`` or, if that parameter
is omitted, the state data will be retrieved from CloudSearch.'

def refresh(self, data=None):

    if (not data):
        if self.refresh_fn:
            data = self.refresh_fn(self.domain.name)
            if (data and self.refresh_key):
                for key in self.refresh_key:
                    data = data[key]
    if data:
        self._update_status(data['Status'])
        self._update_options(data['Options'])
