docs: def clone_surface(self, source_name, target_name, target_position=-1,
                        alpha=1.):
          '''
          Clone surface from existing layer to a new name, inserting new surface
          at specified position.
  
          By default, new surface is appended as the top surface layer.
  
          Args
          ----
  
              source_name (str) : Name of layer to clone.
              target_name (str) : Name of new layer.
          '''
          source_surface = self.df_surfaces.surface.ix[source_name]
          source_width = source_surface.get_width()
          source_height = source_surface.get_height()
          source_format = source_surface.get_format()
  
          target_surface = cairo.ImageSurface(source_format, source_width,
                                              source_height)
          target_cairo_context = cairo.Context(target_surface)
          target_cairo_context.set_source_surface(source_surface, 0, 0)
          target_cairo_context.paint()
          self.insert_surface(target_position, target_name, target_surface,
                              alpha)