code: def _refresh_and_update(self):
          
          # If the currently cached operation is done, no need to make another
          # RPC as it will not change once done.
          if not self._operation.done:
              self._operation = self._refresh()
              self._set_result_from_operation()
docs: Refresh the operation and update the result if needed.