private final void calcGaps(ComponentWrapper before,
                CC befCC, ComponentWrapper after, CC aftCC, String tag,
                boolean flowX, boolean isLTR) {
            ContainerWrapper par = comp.getParent();
            int parW = par.getWidth();
            int parH = par.getHeight();

            BoundSize befGap =
                    before != null
                    ? (flowX ? befCC.getHorizontal() : befCC.getVertical()).getGapAfter()
                    : null;
            BoundSize aftGap =
                    after != null
                    ? (flowX ? aftCC.getHorizontal() : aftCC.getVertical()).getGapBefore()
                    : null;

            mergeGapSizes(cc.getVertical().
                    getComponentGaps(par, comp, befGap, flowX ? null : before,
                    tag, parH, 0, isLTR), false, true);
            mergeGapSizes(cc.getHorizontal().
                    getComponentGaps(par, comp, befGap, flowX ? before : null,
                    tag, parW, 1, isLTR), true, true);
            mergeGapSizes(cc.getVertical().
                    getComponentGaps(par, comp, aftGap, flowX ? null : after,
                    tag, parH, 2, isLTR), false, false);
            mergeGapSizes(cc.getHorizontal().
                    getComponentGaps(par, comp, aftGap, flowX ? after : null,
                    tag, parW, 3, isLTR), true, false);
        }