code: def assign(self, value: StringSetVal, *, wait: bool = False):
      verify_type("value", value, StringSetVal)
      with self._container.lock():
          if not value.values:
              self._enqueue_operation(
                  ClearStringSet(self._path), wait=wait
              )
          else:
              self._enqueue_operation(
                  ClearStringSet(self._path), wait=False
              )
              self._enqueue_operation(
                  AddStrings(self._path, value.values), wait=wait
              )
  
file_path: neptune-client/src/neptune/attributes/sets/string_set.py
imports: import typing
  from typing import Iterable, Union
  from neptune.attributes.sets.set import Set
  from neptune.internal.operation import AddStrings, ClearStringSet, RemoveStrings
  from neptune.internal.utils import is_collection, verify_collection_type, verify_type
  from neptune.types.sets.string_set import StringSet
label_desc: Use image node_id 1 for calling the StringSet obj's underlying member method code with example usage: obj.assign(value) without return types