code: def needs_values(func):
      
  
      @wraps(func)
      def assure_data_present(self, *args, **kwargs):
          self.read()
          return func(self, *args, **kwargs)
      # END wrapper method
      return assure_data_present
docs: Returns method assuring we read values (on demand) before we try to access them