public void release() {
        if (!isUsed) {
            throw new IllegalStateException("This instance of TempVars was already released!");
        }

        isUsed = false;

        TempVarsStack stack = varsLocal.get();

        // Return it to the stack
        stack.index--;

        // Check if it is actually there
        if (stack.tempVars[stack.index] != this) {
            throw new IllegalStateException("An instance of TempVars has not been released in a called method!");
        }
    }
Releases this instance of TempVars.
Once released, the contents of the TempVars are undefined.
The TempVars must be released in the opposite order that they are retrieved,
e.g. Acquiring vars1, then acquiring vars2, vars2 MUST be released 
first otherwise an exception will be thrown.
jme3-core/src/main/java/com/jme3/util/TempVars.java