class DelegatingTokenHolder extends AbstractTokenHolderBase {

    @Override
    public void getOrCreateIds( String[] names, int[] ids )
    {
        if ( names.length != ids.length )
        {
            throw new IllegalArgumentException( "Name and id arrays must have the same length." );
        }
        // Assume all tokens exist and try to resolve them. Break out on the first missing token.
        boolean hasUnresolvedTokens = resolveIds( names, ids, ALWAYS_TRUE_INT );

        if ( hasUnresolvedTokens )
        {
            createMissingTokens( names, ids );
        }
    }

    public  DelegatingTokenHolder( TokenCreator tokenCreator, String tokenType );

}