code: private static boolean polylineEqualsPolyline_(Polyline polyline_a,
  			Polyline polyline_b, double tolerance,
  			ProgressTracker progress_tracker) {
  		Envelope2D env_a = new Envelope2D(), env_b = new Envelope2D();
  		polyline_a.queryEnvelope2D(env_a);
  		polyline_b.queryEnvelope2D(env_b);
  
  		// Quick envelope rejection test for false equality.
  		if (!envelopeEqualsEnvelope_(env_a, env_b, tolerance, progress_tracker))
  			return false;
  
  		// Quick rasterize test to see whether the the geometries are disjoint.
  		if (tryRasterizedContainsOrDisjoint_(polyline_a, polyline_b, tolerance,
  				false) == Relation.disjoint)
  			return false;
  
  		// Quick point equality check for true equality. This just checks if all
  		// the points in each ring are the same (within a tolerance) and in the
  		// same order
  		if (multiPathExactlyEqualsMultiPath_(polyline_a, polyline_b, tolerance,
  				progress_tracker))
  			return true;
  
  		return linearPathEqualsLinearPath_(polyline_a, polyline_b, tolerance, false);
  	}
docs: Returns true if polyline_a equals polyline_b.