public AppModule fillInMissingType(AppModule appModule) throws OpenEJBException {

    for (ClientModule module : appModule.getClientModules()) {
      final JndiConsumer consumer = module.getApplicationClient();
      if (consumer == null) continue;

      fillInMissingType(consumer, module);
    }

    for (WebModule module : appModule.getWebModules()) {
      final JndiConsumer consumer = module.getWebApp();
      if (consumer == null) continue;

      fillInMissingType(consumer, module);
    }

    for (EjbModule module : appModule.getEjbModules()) {
      final EjbJar ejbJar = module.getEjbJar();
      if (ejbJar == null) continue;

      for (EnterpriseBean consumer : ejbJar.getEnterpriseBeans()) {
        fillInMissingType(consumer, module);
      }
    }

    return appModule;
  }
  public AppModule removeUnsetEnvEntries(AppModule appModule) throws OpenEJBException {

    for (ClientModule module : appModule.getClientModules()) {
      final JndiConsumer consumer = module.getApplicationClient();
      if (consumer == null) continue;

      removeUnsetEnvEntries(consumer);
    }

    for (WebModule module : appModule.getWebModules()) {
      final JndiConsumer consumer = module.getWebApp();
      if (consumer == null) continue;

      removeUnsetEnvEntries(consumer);
    }

    for (EjbModule module : appModule.getEjbModules()) {
      final EjbJar ejbJar = module.getEjbJar();
      if (ejbJar == null) continue;

      for (EnterpriseBean consumer : ejbJar.getEnterpriseBeans()) {
        removeUnsetEnvEntries(consumer);
      }
    }

    return appModule;
  }