code: int intersect(Segment other, Point2D[] intersectionPoints,
  			double[] paramThis, double[] paramOther, double tolerance) {
  		return _intersect(other, intersectionPoints, paramThis, paramOther,
  				tolerance);
  	}
docs: Calculates intersections of this segment with another segment.
  <p>
  Note: This is not a topological operation. It needs to be paired with the
  Segment.Overlap call.
  
  @param other
  The segment to calculate intersection with.
  @param intersectionPoints
  The intersection points. Can be NULL.
  @param paramThis
  The value of the parameter in the intersection points for this
  Segment (between 0 and 1). Can be NULL.
  @param paramOther
  The value of the parameter in the intersection points for the
  other Segment (between 0 and 1). Can be NULL.
  @param tolerance
  The tolerance value for the intersection calculation. Can be
  0.
  @return The number of intersection points, 0 when no intersection points
  exist.