case Kind.STACK:  if (VirtualStack.checkOperandStack) {    stack.operandStack.pop(this); } break;  default: throw new IllegalArgumentException("Invalid item kind"); } release(ec); kind = Kind.STACK;
case Kind.STACK:  if (VirtualStack.checkOperandStack) {    stack.operandStack.pop(this); } break;
    final void push(EmitterContext ec) {        final AbstractX86Stream os = ec.getStream();        final VirtualStack stack = ec.getVStack();        switch (getKind()) {        case Kind.REGISTER:            os.writePUSH(reg);            break;        case Kind.LOCAL:            os.writePUSH(FP, offsetToFP);            break;        case Kind.CONSTANT:            pushConstant(ec, os);            break;        case Kind.FPUSTACK:            // Make sure this item is on top of the FPU stack            stack.fpuStack.pop(this);            // Convert & move to new space on normal stack            os.writeLEA(SP, SP, 4);            popFromFPU(os, SP, 0);            break;        case Kind.STACK:            //nothing to do            if (VirtualStack.checkOperandStack) {                // the item is not really pushed and popped                // but this checks that it is really the top                // element                stack.operandStack.pop(this);            }            break;                    default:        	throw new IllegalArgumentException("Invalid item kind");        }        release(ec);        kind = Kind.STACK;        if (VirtualStack.checkOperandStack) {            stack.operandStack.push(this);        }    }