code: def _swap_out(
      self,
      seq_group: SequenceGroup,
      blocks_to_swap_out: Dict[int, int],
  ) -> None:
      if not self.block_manager.can_swap_out(seq_group):
          # FIXME(woosuk): Abort the sequence group instead of aborting the
          # entire engine.
          raise RuntimeError(  # noqa
              "Aborted due to the lack of CPU swap space. Please increase "
              "the swap space to avoid this error."
          )
      mapping = self.block_manager.swap_out(seq_group)
      blocks_to_swap_out.update(mapping)
      for seq in seq_group.get_seqs(status=SequenceStatus.RUNNING):
          seq.status = SequenceStatus.SWAPPED
  
imports: import enum
  import time
  from typing import Dict, Iterable, List, Optional, Tuple, Union
  from bigdl.llm.vllm.config import SchedulerConfig
  from bigdl.llm.vllm.core.policy import PolicyFactory
  from bigdl.llm.vllm.logger import init_logger
  from bigdl.llm.vllm.sequence import SequenceData, SequenceStatus
  from bigdl.llm.vllm.sequence import Sequence, SequenceGroup, SequenceGroupMetadata
  from bigdl.llm.utils.common import invalidInputError
label_desc: Use image node_id 14 for calling the FixedWindowScheduler obj's underlying member method code with example usage: obj._swap_out(seq_group, blocks_to_swap_out) without return types