class JarDeploymentDescriptor extends AbstractDeploymentDescriptor {

    public JarDeploymentDescriptor(URL url,
                                   Properties props,
                                   DeploymentDescriptorConfiguration deploymentDescriptorConfiguration,
                                   ClassLoader classLoader) {
        super(url, props, deploymentDescriptorConfiguration, classLoader);
        loadSpringXMLs();
    }

    @Override
    public void loadSpringXMLs() {<FILL_FUNCTION_BODY>}

    private ByteArrayResource convertToByteArrayResource(InputStream inputStream) {
        try {
            int nRead;
            byte[] data = new byte[2048];
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();

            while ((nRead = inputStream.read(data, 0, data.length)) != -1) {
                buffer.write(data, 0, nRead);
            }

            buffer.flush();

            return new ByteArrayResource(buffer.toByteArray());
        } catch (Throwable t) {
            throw new RuntimeException(t);
        }
    }
}

        JarFile jarFile;

        try {
            URLConnection con = url.openConnection();
            Assert.isInstanceOf(JarURLConnection.class, con);
            JarURLConnection jarCon = (JarURLConnection) con;
            ResourceUtils.useCachesIfNecessary(jarCon);
            jarFile = jarCon.getJarFile();

            for (Enumeration<JarEntry> entries = jarFile.entries(); entries.hasMoreElements();) {
                JarEntry entry = entries.nextElement();
                String entryPath = entry.getName();
                if (entryPath.startsWith(DeploymentDescriptorConfiguration.SPRING_CONTEXT_PATH)
                    && entryPath.endsWith("xml")) {
                    String fileName = entry.getName().substring(
                        DeploymentDescriptorConfiguration.SPRING_CONTEXT_PATH.length() + 1);
                    springResources.put(fileName,
                        convertToByteArrayResource(jarFile.getInputStream(entry)));
                }
            }
        } catch (Throwable t) {
            throw new RuntimeException(t);
        }
    
<methods>public void <init>(java.net.URL, java.util.Properties, com.alipay.sofa.boot.isle.deployment.DeploymentDescriptorConfiguration, java.lang.ClassLoader) ,public void addInstalledSpringXml(java.lang.String) ,public int compareTo(com.alipay.sofa.boot.isle.deployment.DeploymentDescriptor) ,public void deployFinish() ,public boolean equals(java.lang.Object) ,public org.springframework.context.ApplicationContext getApplicationContext() ,public java.lang.ClassLoader getClassLoader() ,public long getElapsedTime() ,public List<java.lang.String> getInstalledSpringXml() ,public java.lang.String getModuleName() ,public java.lang.String getName() ,public java.lang.String getProperty(java.lang.String) ,public List<java.lang.String> getRequiredModules() ,public java.lang.String getSpringParent() ,public Map<java.lang.String,org.springframework.core.io.Resource> getSpringResources() ,public long getStartTime() ,public int hashCode() ,public boolean isSpringPowered() ,public void setApplicationContext(org.springframework.context.ApplicationContext) ,public void setIgnoreRequireModule(boolean) ,public void startDeploy() <variables>protected org.springframework.context.ApplicationContext applicationContext,protected final non-sealed java.lang.ClassLoader classLoader,protected final non-sealed com.alipay.sofa.boot.isle.deployment.DeploymentDescriptorConfiguration deploymentDescriptorConfiguration,protected long elapsedTime,private boolean ignoreRequireModule,protected final List<java.lang.String> installedSpringXml,protected final non-sealed java.lang.String moduleName,protected final non-sealed java.lang.String name,protected final non-sealed java.lang.String parentModule,protected final non-sealed java.util.Properties properties,protected final non-sealed List<java.lang.String> requiredModules,protected final Map<java.lang.String,org.springframework.core.io.Resource> springResources,protected long startTime,protected final non-sealed java.net.URL url