class_docstr: Represents a compiled pipeline with transformers and fitted models.
  
  .. versionadded:: 3.5.0
docstr: Creates a copy of this instance.
  
  .. versionadded:: 3.5.0
  
  :param extra: extra parameters
  :returns: new instance
docstr_tok: ["Creates","a","copy","of","this","instance",".","..","versionadded",":",":","3.5.0",":","param","extra",":","extra","parameters",":","returns",":","new","instance"]
code: def copy(self, extra: Optional["ParamMap"] = None) -> "PipelineModel":
      """
      Creates a copy of this instance.
  
      .. versionadded:: 3.5.0
  
      :param extra: extra parameters
      :returns: new instance
      """
      if extra is None:
          extra = dict()
      stages = [stage.copy(extra) for stage in self.stages]
      return PipelineModel(stages)
  
imports: from typing import Any, Dict, List, Optional, Union, cast, TYPE_CHECKING
  import pandas
  from pyspark import keyword_only, since
  from pyspark.ml.connect.base import Estimator, Model, Transformer
  from pyspark.ml.connect.io_utils import ParamsReadWrite, MetaAlgorithmReadWrite
  from pyspark.ml.param import Param, Params
  from pyspark.ml.common import inherit_doc
  from pyspark.sql.dataframe import DataFrame
label_desc: Use image node_id 3 for calling the PipelineModel obj's underlying member method code with example usage: obj.copy(extra) and returns: PipelineModel