<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_lxc_with_overlays(name, base, overlays, overlay_temp_path=None, service=None):
 """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. """

    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)