VariableTable { public Variable acquireExtra(Class<?> type) { Validate.notNull(type); return acquireExtra(Type.getType(type)); } VariableTable(ClassNode classNode, MethodNode methodNode); private  VariableTable(boolean isStatic, Type objectType, Type methodType, int maxLocals); Variable getArgument(int index); Variable acquireExtra(Class<?> type); Variable acquireExtra(Type type); void releaseExtra(Variable variable); int getArgCount();  }
@Test public void mustBeAbleToAcquireExtraVariable() { VariableTable fixture = new VariableTable(classNode, methodNode); Variable var1 = fixture.acquireExtra(Type.LONG_TYPE); assertEquals(var1.getType(), Type.LONG_TYPE); assertEquals(var1.getIndex(), 1); assertTrue(var1.isUsed()); Variable var2 = fixture.acquireExtra(Type.BOOLEAN_TYPE); assertEquals(var2.getType(), Type.BOOLEAN_TYPE); assertEquals(var2.getIndex(), 3); assertTrue(var2.isUsed()); }