@Override
    public <T> T getInterface(Class<T> clasz) {
        return clasz.cast(getGlobal().getInterface(clasz));
    }
@ Override public < T > T getInterface ( Class < T > clasz ) { return clasz . cast ( getGlobal ( ) . getInterface ( clasz ) ) ; }
Returns an implementation of an interface using procedures compiled in the
interpreter. The methods of the interface may be implemented using the
{@code invoke} method.

@param clasz The {@code Class} object of the interface to return.
@return An instance of requested interface - null if the requested interface
is unavailable, i. e. if compiled methods in the
{@code ScriptEngine} cannot be found matching the ones in the
requested interface.
@throws IllegalArgumentException if the specified {@code Class} object
does not exist or is not an interface.