code: def _validate_jp2c(self, boxes):
          
          # jp2c must be preceeded by jp2h
          jp2h_lst = [idx for (idx, box) in enumerate(boxes)
                      if box.box_id == 'jp2h']
          jp2h_idx = jp2h_lst[0]
          jp2c_lst = [idx for (idx, box) in enumerate(boxes)
                      if box.box_id == 'jp2c']
          if len(jp2c_lst) == 0:
              msg = ("A codestream box must be defined in the outermost "
                     "list of boxes.")
              raise IOError(msg)
  
          jp2c_idx = jp2c_lst[0]
          if jp2h_idx >= jp2c_idx:
              msg = "The codestream box must be preceeded by a jp2 header box."
              raise IOError(msg)
docs: Validate the codestream box in relation to other boxes.