code: def grab_hidden_properties(self):
          # type: () -> dict
          
          # Copy properties
          result = self.__hidden_properties.copy()
  
          # Destroy the field
          self.__hidden_properties.clear()
          del self.__hidden_properties
          return result
docs: A one-shot access to hidden properties (the field is then destroyed)
  
          :return: A copy of the hidden properties dictionary on the first call
          :raise AttributeError: On any call after the first one