code: def copy(self) -> LiteFeature:
      copied_feature = LiteFeature(
          name=self._name,
          logical_type=self._logical_type,
          tags=self._tags.copy(),
          primitive=self._primitive,
          base_features=[f.copy() for f in self._base_features],
          df_id=self._df_id,
          idx=self._idx,
          related_features=self._related_features.copy(),
      )
  
      copied_feature.set_alias(self._alias)
  
      return copied_feature
  
imports: from __future__ import annotations
  import hashlib
  from dataclasses import field
  from functools import total_ordering
  from typing import Any, Dict, List, Optional, Set, Type, Union
  from woodwork.column_schema import ColumnSchema
  from woodwork.logical_types import LogicalType
  from featuretools.feature_discovery.utils import get_primitive_return_type, hash_primitive
  from featuretools.primitives.base.primitive_base import PrimitiveBase
label_desc: Use image node_id 39 for calling the LiteFeature obj's underlying member method code with example usage: obj.copy() and returns: copied_feature