code: def get_next(intersection, intersections, unused):
      
      result = None
      if is_first(intersection.interior_curve):
          result = get_next_first(intersection, intersections)
      elif is_second(intersection.interior_curve):
          result = get_next_second(intersection, intersections)
      elif intersection.interior_curve == CLASSIFICATION_T.COINCIDENT:
          result = get_next_coincident(intersection, intersections)
      else:
          raise ValueError(
              'Cannot get next node if not starting from "FIRST", '
              '"TANGENT_FIRST", "SECOND", "TANGENT_SECOND" or "COINCIDENT".'
          )
  
      if result in unused:
          unused.remove(result)
      return result
docs: Gets the next node along a given edge.
  
      .. note::
  
         This is a helper used only by :func:`basic_interior_combine`, which in
         turn is only used by :func:`combine_intersections`. This function does
         the majority of the heavy lifting for :func:`basic_interior_combine`.
  
      .. note::
  
          This function returns :class:`.Intersection` objects even
          when the point isn't strictly an intersection. This is
          "incorrect" in some sense, but for now, we don't bother
          implementing a class similar to, but different from,
          :class:`.Intersection` to satisfy this need.
  
      Args:
          intersection (.Intersection): The current intersection.
          intersections (List[.Intersection]): List of all detected
              intersections, provided as a reference for potential
              points to arrive at.
          unused (List[.Intersection]): List of nodes that haven't been
              used yet in an intersection curved polygon
  
      Returns:
          .Intersection: The "next" point along a surface of intersection.
          This will produce the next intersection along the current edge or
          the end of the current edge.
  
      Raises:
          ValueError: If the intersection is not classified as
              :attr:`~.IntersectionClassification.FIRST`,
              :attr:`~.IntersectionClassification.TANGENT_FIRST`,
              :attr:`~.IntersectionClassification.SECOND`,
              :attr:`~.IntersectionClassification.TANGENT_SECOND` or
              :attr:`~.IntersectionClassification.COINCIDENT`.