code: public GeoPolygon addHole(GeoPoint firstPoint, GeoPoint secondPoint, GeoPoint thirdPoint, GeoPoint fourthPoint, GeoPoint... additionalPoints) {
  		Contracts.assertNotNull( firstPoint, "firstPoint" );
  		Contracts.assertNotNull( secondPoint, "secondPoint" );
  		Contracts.assertNotNull( thirdPoint, "thirdPoint" );
  		Contracts.assertNotNull( fourthPoint, "fourthPoint" );
  		Contracts.assertNotNull( additionalPoints, "additionalPoints" );
  
  		List<GeoPoint> hole = new ArrayList<>( 4 + additionalPoints.length );
  		hole.add( firstPoint );
  		hole.add( secondPoint );
  		hole.add( thirdPoint );
  		hole.add( fourthPoint );
  		hole.addAll( Arrays.asList( additionalPoints ) );
  
  		this.rings.add( hole );
  
  		return this;
  	}
docs: Adds a new hole to the polygon.
  
  @param firstPoint the first point of the polygon
  @param secondPoint the second point of the polygon
  @param thirdPoint the third point of the polygon
  @param fourthPoint the third point of the polygon
  @param additionalPoints the additional points of the polygon