code: private void push(final int type) {
          // creates and/or resizes the output stack array if necessary
          if (outputStack == null) {
              outputStack = new int[10];
          }
          int n = outputStack.length;
          if (outputStackTop >= n) {
              int[] t = new int[Math.max(outputStackTop + 1, 2 * n)];
              System.arraycopy(outputStack, 0, t, 0, n);
              outputStack = t;
          }
          // pushes the type on the output stack
          outputStack[outputStackTop++] = type;
          // updates the maximun height reached by the output stack, if needed
          int top = owner.inputStackTop + outputStackTop;
          if (top > owner.outputStackMax) {
              owner.outputStackMax = top;
          }
      }
docs: Pushes a new type onto the output frame stack.
  
  @param type the type that must be pushed.