class_docstr: Implementation of a compositor-specific node.
class_docstr_tok: ["Implementation","of","a","compositor-specific","node","."]
code: def _copy_name_and_data(self, node_cache=None):
      new_node = CompositorNode(self.compositor)
      new_required_nodes = [
          node.copy(node_cache) for node in self.required_nodes
      ]
      new_node.add_required_nodes(new_required_nodes)
      new_optional_nodes = [
          node.copy(node_cache) for node in self.optional_nodes
      ]
      new_node.add_optional_nodes(new_optional_nodes)
      # `comp.id` uses the compositor's attributes to compute itself
      # however, this node may have been updated by creation of the
      # composite. In order to not modify the compositor's attrs, we
      # overwrite the name here instead.
      new_node.name = self.name
      return new_node
  
imports: from satpy.utils import get_logger
label_desc: Use image node_id 7 for calling the CompositorNode obj's underlying member method code with example usage: obj._copy_name_and_data(node_cache) and returns: new_node