Fix for ear redeploy fails(eclipse-ee4j#22383)

Signed-off-by: endtak <endo.takafumi@jp.fujitsu.com>
diff --git a/nucleus/common/internal-api/src/main/java/org/glassfish/internal/data/ApplicationInfo.java b/nucleus/common/internal-api/src/main/java/org/glassfish/internal/data/ApplicationInfo.java
index 829a810..9e2345c 100644
--- a/nucleus/common/internal-api/src/main/java/org/glassfish/internal/data/ApplicationInfo.java
+++ b/nucleus/common/internal-api/src/main/java/org/glassfish/internal/data/ApplicationInfo.java
@@ -424,7 +424,11 @@
         // clean up the app level classloader
         if (appClassLoader != null) {
             try {
-                appServiceLocator.preDestroy(appClassLoader);
+                if (appServiceLocator != null) {
+                    appServiceLocator.preDestroy(appClassLoader);
+                } else {
+                    PreDestroy.class.cast(appClassLoader).preDestroy();
+                }
             }
             catch (Exception e) {
                 // Ignore, some failure in preDestroy