class_docstr: Base class with shared functionality for `FeedbackDataset` and `RemoteFeedbackDataset`.
docstr: Checks whether the provided `metadata_property` already exists in the dataset.
  
  Args:
      metadata_property: the metadata property to validate.
  
  Raises:
      ValueError: if the `metadata_property` already exists in the dataset.
code: def _unique_metadata_property(
      self, metadata_property: "AllowedMetadataPropertyTypes"
  ) -> None:
      """Checks whether the provided `metadata_property` already exists in the dataset.
  
      Args:
          metadata_property: the metadata property to validate.
  
      Raises:
          ValueError: if the `metadata_property` already exists in the dataset.
      """
      existing_metadata_properties = self.metadata_properties
      if existing_metadata_properties:
          existing_metadata_property_names = [
              metadata_property.name
              for metadata_property in existing_metadata_properties
          ]
          if metadata_property.name in existing_metadata_property_names:
              raise ValueError(
                  f"Invalid `metadata_property={metadata_property.name}` provided as it already exists. Current"
                  f" `metadata_properties` are: {', '.join(existing_metadata_property_names)}"
              )
  
imports: import warnings
  from abc import ABC, ABCMeta, abstractmethod
  from typing import TYPE_CHECKING, Any, Generic, Iterable, List, Literal, Optional, Tuple, TypeVar, Union
  from argilla.client.feedback.integrations.huggingface import HuggingFaceDatasetMixin
  from argilla.client.feedback.schemas.records import FeedbackRecord, SortBy
  from argilla.utils.dependency import requires_dependencies
label_desc: Use image node_id 15 for calling the FeedbackDatasetBase obj's underlying member method code with example usage: obj._unique_metadata_property(metadata_property) without return types