@Override
    public MathList<BoundingBox> getAllBoundingBoxs() {
        MathList<BoundingBox> list = new MathList<BoundingBox>();
        list.add(this.getBoundingBox());

        switch (operand) {
            case '/':
                if (c1.length() > c2.length()) {
                    //Čitatel je delší než jmenovatel
                    list.addAll(c1.getAllBoundingBoxs());
                    list.addAll(c2.getAllBoundingBoxs((int) (c1.length() / 2.0 - c2.length() / 2.0), c1.height() + 1));
                } else {
                    //Jmenovatel je delší než čitatel
                    list.addAll(c1.getAllBoundingBoxs((int) (c2.length() / 2.0 - c1.length() / 2.0), 0));
                    list.addAll(c2.getAllBoundingBoxs(0, c1.height() + 1));
                }
                break;
            case '^':
                //Zápis mocněnce a mocnitele
                list.addAll(c1.getAllBoundingBoxs(0, c2.height()));
                list.addAll(c2.getAllBoundingBoxs(c1.length(), 0));
                break;
            default:
                if (c1.height() > c2.height()) {
                    // První sčítanec je vyšší než druhý
                    list.addAll(c1.getAllBoundingBoxs());
                    list.addAll(c2.getAllBoundingBoxs(c1.length() + 1, (int) (c1.height() / 2.0 - c2.height() / 2.0)));
                } else {
                    // Druhý sčítanec je vyšší než druhý
                    list.addAll(c1.getAllBoundingBoxs(0, (int) (c2.height() / 2.0 - c1.height() / 2.0)));
                    list.addAll(c2.getAllBoundingBoxs(c1.length() + 1, 0));
                }
        }
        return list;
    }