docs: def forward(self, anchors, objectness, box_regression, targets=None):
          """
          Arguments:
              anchors: list[list[BoxList]]
              objectness: list[tensor]
              box_regression: list[tensor]
  
          Returns:
              boxlists (list[BoxList]): the post-processed anchors, after
                  applying box decoding and NMS
          """
          sampled_boxes = []
          num_levels = len(objectness)
          anchors = list(zip(*anchors))
          for a, o, b in zip(anchors, objectness, box_regression):
              sampled_boxes.append(self.forward_for_single_feature_map(a, o, b))
  
          boxlists = list(zip(*sampled_boxes))
          boxlists = [cat_boxlist(boxlist) for boxlist in boxlists]
  
          if num_levels > 1:
              boxlists = self.select_over_all_levels(boxlists)
  
          # append ground-truth bboxes to proposals
          if self.training and targets is not None:
              boxlists = self.add_gt_proposals(boxlists, targets)
  
          return boxlists