docs: public static boolean unzipFileOrFolder(File zipFile, String unzippedFolder){
  		InputStream is;
  		ArchiveInputStream in = null;
  		OutputStream out  = null;
  		
  		if(!zipFile.isFile()){
  			return false;
  		}
  		
  		if(unzippedFolder == null){
  			unzippedFolder = FilenameUtils.removeExtension(zipFile.getAbsolutePath());
  		}
  		try {
  			is = new FileInputStream(zipFile);
  			new File(unzippedFolder).mkdir();
  			
  			in = new ArchiveStreamFactory().createArchiveInputStream(ArchiveStreamFactory.ZIP, is);
  			
  			ZipArchiveEntry entry = (ZipArchiveEntry)in.getNextEntry();
  			while(entry != null){
  				if(entry.isDirectory()){
  					new File(unzippedFolder,entry.getName()).mkdir();
  				}
  				else{
  					out = new FileOutputStream(new File(unzippedFolder, entry.getName()));
  					IOUtils.copy(in, out);
  					out.close();
  					out = null;
  				}
  				entry = (ZipArchiveEntry)in.getNextEntry();
  			}	
  		} catch (FileNotFoundException e) {
  			e.printStackTrace();
  			return false;
  		} catch (ArchiveException e) {
  			e.printStackTrace();
  			return false;
  		} catch (IOException e) {
  			e.printStackTrace();
  			return false;
  		}
  		finally{
  			if(out != null){
  				try {
  					out.close();
  				} catch (IOException e) {}
  			}
  			if(in != null){
  				try {
  					in.close();
  				} catch (IOException e) {}
  			}
  		}
  		return true;
  	}