public boolean intersects(BaseBounds other) {
   if ((other == null) || other.isEmpty() || isEmpty()) {
     return false;
   }
   return (other.getMaxX() >= minX
       && other.getMaxY() >= minY
       && other.getMaxZ() >= getMinZ()
       && other.getMinX() <= maxX
       && other.getMinY() <= maxY
       && other.getMinZ() <= getMaxZ());
 }