code: private ProjectFile handleZipFile(InputStream stream) throws Exception
     {
        File dir = null;
  
        try
        {
           dir = InputStreamHelper.writeZipStreamToTempDir(stream);
           ProjectFile result = handleDirectory(dir);
           if (result != null)
           {
              return result;
           }
        }
  
        finally
        {
           FileHelper.deleteQuietly(dir);
        }
  
        return null;
     }
docs: We have identified that we have a zip file. Extract the contents into
  a temporary directory and process.
  
  @param stream schedule data
  @return ProjectFile instance