code: def create_lxc_with_overlays(name, base, overlays, overlay_temp_path=None,
          service=None):
      
      service = service or LXCService
      # Check that overlays has content
      if not overlays:
          raise TypeError("Argument 'overlays' must have at least one item")
  
      # Get the system's LXC path
      lxc_path = service.lxc_path()
      # Calculate base LXC's path
      base_path = os.path.join(lxc_path, base)
      # Calculate the new LXC's path
      new_path = os.path.join(lxc_path, name)
  
      # Create the new directory if it doesn't exist
      if not os.path.exists(new_path):
          os.mkdir(new_path)
  
      overlay_group = OverlayGroup.create(new_path, base_path, overlays)
      initial_meta = dict(type='LXCWithOverlays',
              overlay_group=overlay_group.meta())
      meta = LXCMeta(initial=initial_meta)
      return LXCWithOverlays.with_meta(name, service, meta, overlay_group,
              save=True)
docs: Creates an LXC using overlays.
  
      This is a fast process in comparison to LXC.create because it does not
      involve any real copying of data.