public void undeploy() {
   // on tue notre RemoteWrapper associé, par contre, on ne touche pas aux fichiers de déploiement
   // car on est peut être pas le seul
   //  élément de cette classe de composant
   try {
     remoteWrapper.killRemoteWrapper();
   } catch (Exception e) {
     // au pire on prendra une exception ici car on aura éteint le serveur RMI.
     // Mais on est sûr que le remoteWrapper existe, sinon le composant n'aurait pas été lancé
   }
 }
 public boolean isDeployed() {
   // si on a une référence sur notre alter ego distant, on lui demande juste si il est déployé !
   // on fait un ping quoi.
   boolean retour = false;
   try {
     deployThread.join();
     retour = deployed && remoteWrapper.isDeployed();
   } catch (Exception e) {
     Generator.logger.error("Exception", e);
   }
   return retour;
 }
  /** *** Interfaces WrapperItf *** */
  public void meth(String className, String methName, Object[] args) throws RemoteException {
    try {
      LinkFc lkfc = ((LinkFc) linkfc.get(className));
      if (lkfc.isMeth()) {
        Generator.logger.info(
            "Running meth "
                + lkfc.getClassName()
                + "."
                + lkfc.getMethodName()
                + " on "
                + getWrapperName());

        Object[] argsR = lkfc.resoud_arg();
        String argsRS = "";
        for (int i = 0; i < argsR.length; i++) argsRS = argsRS + (String) argsR[i] + " ";
        Generator.logger.info("   with args " + argsRS);

        remoteWrapper.meth(lkfc.getClassName(), lkfc.getMethodName(), lkfc.resoud_arg());
      } else lkfc.apply();
    } catch (Exception e) {
      Generator.logger.error("Exception - ", e);
    }
  }