code: public boolean isValid() {
  		if (!isEmpty()) {
  			for (int i = 0; i < polygons.length; i++) {
  				if (!polygons[i].isValid()) {
  					return false;
  				}
  				for (int j = i + 1; j < polygons.length; j++) {
  					if (polygons[i].intersects(polygons[j])) {
  						return false;
  					}
  				}
  			}
  		}
  		return true;
  	}
docs: Checks all it's polygons for validity.