@Override
  public double getCenterY() {
    if(isLeaf()) return 0;
    if(y == 0) {
      double minY = 0;
      for(final BUNode n : getChilds()) {
        final double ty = n.getCenterY();
        if(ty < minY) {
          minY = ty;
        }
      }
      for(final BUNode n : getChilds()) {
        n.y = minY;
      }
      y = minY - measures.boxHeight() - getHeight();
    }
    return y;
  }