code: protected void ensureElementsCapacity() {
  		final int elStackSize = elName.length;
  		// assert (depth + 1) >= elName.length;
  		// we add at least one extra slot ...
  		final int newSize = (depth >= 7 ? 2 * depth : 8) + 2; // = lucky 7 + 1
  																// //25
  		if (TRACE_SIZING) {
  			System.err.println(getClass().getName() + " elStackSize " + elStackSize + " ==> " + newSize);
  		}
  		final boolean needsCopying = elStackSize > 0;
  		String[] arr = null;
  		// reuse arr local variable slot
  		arr = new String[newSize];
  		if (needsCopying)
  			System.arraycopy(elName, 0, arr, 0, elStackSize);
  		elName = arr;
  
  		arr = new String[newSize];
  		if (needsCopying)
  			System.arraycopy(elPrefix, 0, arr, 0, elStackSize);
  		elPrefix = arr;
  
  		arr = new String[newSize];
  		if (needsCopying)
  			System.arraycopy(elNamespace, 0, arr, 0, elStackSize);
  		elNamespace = arr;
  
  		final int[] iarr = new int[newSize];
  		if (needsCopying) {
  			System.arraycopy(elNamespaceCount, 0, iarr, 0, elStackSize);
  		} else {
  			// special initialization
  			iarr[0] = 0;
  		}
  		elNamespaceCount = iarr;
  	}
docs: Ensure elements capacity.