if ((item.getKind() == Item.Kind.STACK) && (tos > 0)) { Item.assertCondition(stack[ tos - 1].getKind() == Item.Kind.STACK, "stack[ tos - 1].getKind() == Item.Kind.STACK"); }
Item.assertCondition(item.getKind() > 0, "Kind > 0"); if ((item.isStack()) && (tos > 0)) { Item.assertCondition(stack[tos - 1].isStack(), "stack[ tos - 1].isStack()"); }
    void push(Item item) {        if ((item.getKind() == Item.Kind.STACK) && (tos > 0)) {            Item.assertCondition(stack[ tos - 1].getKind() == Item.Kind.STACK,                    "stack[ tos - 1].getKind() == Item.Kind.STACK");        }        if (tos == stack.length) {            growStack();        }        stack[ tos++] = item;    }