public boolean cloneHardTokenIssuer(Admin admin, String oldalias, String newalias, BigInteger newcertificatesn, String newcertissuerdn){
public boolean cloneHardTokenIssuer(Admin admin, String oldalias, String newalias, int admingroupid){
    public boolean cloneHardTokenIssuer(Admin admin, String oldalias, String newalias, BigInteger newcertificatesn, String newcertissuerdn){       debug(">cloneHardTokenIssuer(alias: " + oldalias + ")");       HardTokenIssuer issuerdata = null;       boolean returnval = false;	   String bcdn = CertTools.stringToBCDNString(newcertissuerdn);       try{         HardTokenIssuerDataLocal htih = hardtokenissuerhome.findByAlias(oldalias);         issuerdata = (HardTokenIssuer) htih.getHardTokenIssuer().clone();         returnval = addHardTokenIssuer(admin, newalias, newcertificatesn, bcdn, issuerdata);         if(returnval)           getLogSession().log(admin, bcdn.hashCode(), LogEntry.MODULE_HARDTOKEN, new java.util.Date(),null, null, LogEntry.EVENT_INFO_HARDTOKENISSUERDATA,"New hard token issuer " + newalias +  ", used issuer " + oldalias + " as template.");         else           getLogSession().log(admin, bcdn.hashCode(), LogEntry.MODULE_HARDTOKEN,  new java.util.Date(),null, null, LogEntry.EVENT_ERROR_HARDTOKENISSUERDATA,"Error adding hard token issuer " + newalias +  " using issuer " + oldalias + " as template.");       }catch(Exception e){          throw new EJBException(e);       }       debug("<cloneHardTokenIssuer()");       return returnval;    } // cloneHardTokenIssuer