error("Error getting available hard tokens: ",e);
    public AvailableHardToken[] getAvailableHardTokens() {        debug(">getAvailableHardTokens()");        if (availablehardtokens == null) {            String[] hardtokensclasses = null;            String[] hardtokensnames = null;            String[] hardtokensids = null;            // Get configuration of log device classes from ejb-jar.xml            String hardtokensclassstring = (String) lookup("java:comp/env/hardTokenClasses",                    java.lang.String.class);            String hardtokensnamestring = (String) lookup("java:comp/env/hardTokenNames",                    java.lang.String.class);            String hardtokensidstring = (String) lookup("java:comp/env/hardTokenIds",                    java.lang.String.class);            try {                hardtokensclasses = hardtokensclassstring.split(";");                hardtokensnames = hardtokensnamestring.split(";");                hardtokensids = hardtokensidstring.split(";");            } catch (Exception e) {                throw new EJBException(e);            }            availablehardtokens = new AvailableHardToken[hardtokensclasses.length];            for (int i = 0; i < hardtokensclasses.length; i++) {                availablehardtokens[i] = new AvailableHardToken(hardtokensids[i],                        hardtokensnames[i], hardtokensclasses[i]);            }        }        debug("<getAvailableHardTokens()");        return availablehardtokens;    }