VarType () { if (getArrayDim() > 0) { return new VarType(getType(), getArrayDim() - 1, getValue()); } else { //throw new RuntimeException("array dimension equals 0!"); FIXME: investigate this case return this; } }