public static void unzipFolder(File zipFile, File destFolder) {
		    try {
		    	BufferedOutputStream dest = null;
		    	FileInputStream fis = new FileInputStream(zipFile);
		    	ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis));
		    	ZipEntry entry;
		    	
		    	while ((entry = zis.getNextEntry()) != null) {
		    		System.out.println("Extracting: " + entry);

		    		byte[] data = new byte[2048];

		    		File f = new File(destFolder + File.separator + entry.getName());
		    		
		    		if ((f.getParentFile() != null) && (!f.getParentFile().exists())) {
		    			f.getParentFile().mkdirs();
		    		}
		    		
		    		Boolean isDir = entry.isDirectory();
		    		
		    		if (!f.exists()) {
		    			if(isDir){
		    				f.mkdirs();
		    			}else{
			    			DebugUtils.info("f: " + f.toString());
			    			f.createNewFile();
			    			f.getParent();
		    			}
		    	    }
		    		if(!isDir){
			    		FileOutputStream fos = new FileOutputStream(f);
			    		dest = new BufferedOutputStream(fos, 2048);
			    		
			    		int count;
			    		
			    		while ((count = zis.read(data, 0, 2048)) != -1) {
			    			dest.write(data, 0, count);
			    	    }
			    		dest.flush();
			    		dest.close();
		    		}
		        }
		    	zis.close();
		    } catch (Exception e) {
		    	DebugUtils.error(e.getMessage());
		    	e.printStackTrace();
		    }
	  }