if (getStyle().isTopAuto() && getStyle().isBottomAuto()) {
if ((direction & POSITION_VERTICALLY) != 0 && getStyle().isTopAuto() && getStyle().isBottomAuto()) {
    public void positionAbsolute(CssContext cssCtx) {        CalculatedStyle style = getStyle().getCalculatedStyle();        Rectangle boundingBox = null;                int cbContentHeight = getContainingBlock().getContentAreaEdge(0, 0, cssCtx).height;        if (getContainingBlock() instanceof BlockBox) {            boundingBox = getContainingBlock().getPaddingEdge(0, 0, cssCtx);        } else {            boundingBox = getContainingBlock().getContentAreaEdge(0, 0, cssCtx);        }        if (!style.isIdent(CSSName.LEFT, IdentValue.AUTO)) {            this.x = (int)style.getFloatPropertyProportionalWidth(CSSName.LEFT, getContainingBlock().getContentWidth(), cssCtx);        } else if (!style.isIdent(CSSName.RIGHT, IdentValue.AUTO)) {            this.x = boundingBox.width -                    (int)style.getFloatPropertyProportionalWidth(CSSName.RIGHT, getContainingBlock().getContentWidth(), cssCtx) - getWidth();        }        if (!style.isIdent(CSSName.TOP, IdentValue.AUTO)) {            this.y = (int)style.getFloatPropertyProportionalHeight(CSSName.TOP, cbContentHeight, cssCtx);        } else if (!style.isIdent(CSSName.BOTTOM, IdentValue.AUTO)) {            this.y = boundingBox.height -                    (int)style.getFloatPropertyProportionalWidth(CSSName.BOTTOM, cbContentHeight, cssCtx) - getHeight();        }        this.x += boundingBox.x;        this.y += boundingBox.y;                calcCanvasLocation();                if (getStyle().isTopAuto() && getStyle().isBottomAuto()) {            alignToStaticEquivalent();        }                calcChildLocations();    }