class_docstr: Hidden API for overriding/modifying the behavior of a Parameter,
  which is itself a Layered object.
  
  Layers can be added and will be ordered depending on their level
class_docstr_tok: ["Hidden","API","for","overriding\/modifying","the","behavior","of","a","Parameter",",","which","is","itself","a","Layered","object",".","Layers","can","be","added","and","will","be","ordered","depending","on","their","level"]
docstr: Creates a new unattached layer with the same behavior
docstr_tok: ["Creates","a","new","unattached","layer","with","the","same","behavior"]
code: def copy(self: L) -> L:
      """Creates a new unattached layer with the same behavior"""
      new = copy.copy(self)
      new._layers = [new]
      new._layer_index = 0
      if not self._layer_index:  # attach sublayers if root
          for layer in self._layers[1:]:
              new.add_layer(layer.copy())
      return new
  
imports: import uuid
  import copy
  import bisect
  from enum import Enum
  import numpy
  from nevergrad.common import errors
  import nevergrad.common.typing
label_desc: Use image node_id 12 for calling the Layered obj's underlying member method code with example usage: obj.copy() and returns: new