code: def _is_legal_region(self, cur_chunk_info, chunk_infos):
      (chunk_region_start, chunk_region_end) = cur_chunk_info["region"]
      if cur_chunk_info in chunk_infos:
          return False
      if chunk_region_end < chunk_region_start:
          return False
      for i in chunk_infos:
          region = i["region"]
          if not (
              (
                  chunk_region_start > region[1]
                  and chunk_region_end > region[1]
              )
              or (
                  chunk_region_start < region[0]
                  and chunk_region_end < region[0]
              )
          ):
              return False
      return True
  
file_path: colossalai/colossalai/autochunk/select_chunk.py
imports: from .estimate_memory import EstimateMemory
  from .reorder_graph import ReorderGraph
  from .trace_indice import TraceIndice
  from .utils import NodeMgr, is_non_compute_node
label_desc: Use image node_id 8 for calling the SelectChunk obj's underlying member method code with example usage: obj._is_legal_region(cur_chunk_info, chunk_infos) and returns: True, False, False, False