docs: def loads(string, *transformers, **kwargs):
      """
      Deserializes Java objects and primitive data serialized using
      ObjectOutputStream from a string.
  
      :param string: A Java data string
      :param transformers: Custom transformers to use
      :param ignore_remaining_data: If True, don't log an error when unused
                                    trailing bytes are remaining
      :return: The deserialized object
      """
      # Read keyword argument
      ignore_remaining_data = kwargs.get("ignore_remaining_data", False)
  
      # Reuse the load method (avoid code duplication)
      return load(
          BytesIO(string), *transformers, ignore_remaining_data=ignore_remaining_data
      )