def METHOD_NAME(self):
    if self.data is None:
        _fill_lock.acquire()
        try:
            if self.data is None:
                self._fill()
        finally:
            _fill_lock.release()
    return self.data.METHOD_NAME()