code: private static boolean polygonRelateMultiPoint_(Polygon polygon_a,
  			MultiPoint multipoint_b, double tolerance, int relation,
  			ProgressTracker progress_tracker) {
  		switch (relation) {
  		case Relation.disjoint:
  			return polygonDisjointMultiPoint_(polygon_a, multipoint_b,
  					tolerance, true, progress_tracker);
  
  		case Relation.contains:
  			return polygonContainsMultiPoint_(polygon_a, multipoint_b,
  					tolerance, progress_tracker);
  
  		case Relation.touches:
  			return polygonTouchesMultiPoint_(polygon_a, multipoint_b,
  					tolerance, progress_tracker);
  
  		case Relation.crosses:
  			return polygonCrossesMultiPoint_(polygon_a, multipoint_b,
  					tolerance, progress_tracker);
  
  		default:
  			break; // warning fix
  		}
  
  		return false;
  	}
docs: Returns true if the relation holds