code: public Deployment deploy(URL url, Context context, ClassLoader parent) throws DeployException
     {
        boolean extracted = false;
        File destination = null;
        try
        {
           File f = new File(url.toURI());
  
           if (!f.exists())
              throw new IOException("Archive " + url.toExternalForm() + " doesnt exists");
  
           File root = null;
           if (f.isFile())
           {
              FileUtil fileUtil = new FileUtil();
              destination = new File(SecurityActions.getSystemProperty("ironjacamar.home"), "/tmp/");
              root = fileUtil.extract(f, destination);
              extracted = true;
           }
           else
           {
              root = f;
           }
  
           context.put(Constants.ATTACHMENT_ARCHIVE, root);
  
           if (extracted)
           {
              return new TempDirectoryDeployment(url, root);
           }
           else
           {
              return null;
           }
        }
        catch (Throwable t)
        {
           if (destination != null)
           {
              try
              {
                 FileUtil fileUtil = new FileUtil();
                 fileUtil.delete(destination);
              }
              catch (IOException ignore)
              {
                 // Ignore
              }
           }
           
           throw new DeployException("Deployment " + url.toExternalForm() + " failed", t);
        }
     }
docs: {@inheritDoc}