private final int convertIndex(PrimitiveOrString getType, int index) {
   checkArray(getType);
   if (index > arrayLen) {
     throw new ArrayIndexOutOfBoundsException(index + " off=" + arrayOff + ", len=" + arrayLen);
   }
   return arrayOff + index;
 }
 public byte[] getByteArray() {
   checkArray(PrimitiveOrString.BYTE);
   return curByteAry;
 }
 public char[] getCharArray() {
   checkArray(PrimitiveOrString.CHAR);
   return curCharAry;
 }
 public boolean[] getBooleanArray() {
   checkArray(PrimitiveOrString.BOOLEAN);
   return curBoolAry;
 }
 public String[] getStringArray() {
   checkArray(PrimitiveOrString.STRING);
   return curStringAry;
 }
 public double[] getDoubleArray() {
   checkArray(PrimitiveOrString.DOUBLE);
   return curDoubleAry;
 }
 public float[] getFloatArray() {
   checkArray(PrimitiveOrString.FLOAT);
   return curFloatAry;
 }
 public long[] getLongArray() {
   checkArray(PrimitiveOrString.LONG);
   return curLongAry;
 }
 public int[] getIntArray() {
   checkArray(PrimitiveOrString.INT);
   return curIntAry;
 }
 public short[] getShortArray() {
   checkArray(PrimitiveOrString.SHORT);
   return curShortAry;
 }