<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def endpoint_check( first, node_first, s, second, node_second, t, intersections ):
 r"""Check if curve endpoints are identical. .. note:: This is a helper for :func:`tangent_bbox_intersection`. These functions are used (directly or indirectly) by :func:`_all_intersections` exclusively, and that function has a Fortran equivalent. Args: first (SubdividedCurve):
 First curve being intersected (assumed in :math:\mathbf{R}^2`). node_first (numpy.ndarray):
 1D ``2``-array, one of the endpoints of ``first``. s (float):
 The parameter corresponding to ``node_first``, so expected to be one of ``0.0`` or ``1.0``. second (SubdividedCurve):
 Second curve being intersected (assumed in :math:\mathbf{R}^2`). node_second (numpy.ndarray):
 1D ``2``-array, one of the endpoints of ``second``. t (float):
 The parameter corresponding to ``node_second``, so expected to be one of ``0.0`` or ``1.0``. intersections (list):
 A list of already encountered intersections. If these curves intersect at their tangency, then those intersections will be added to this list. """

    if _helpers.vector_close(node_first, node_second):
        orig_s = (1 - s) * first.start + s * first.end
        orig_t = (1 - t) * second.start + t * second.end
        add_intersection(orig_s, orig_t, intersections)