public Rectangle2D getBounds(Iterable<?> objects) {
Rectangle2D.Double bounds = new Rectangle2D.Double();
for (Object o : objects) {
if (o instanceof Point) {
Point pt = (Point) o;
bounds.add(pt.toPoint2D());
} else if (o instanceof Iterable) {
bounds.add(getBounds((Iterable<?>) o));
}
}
bounds.x -= 5;