protected static void passThrough( ZipFile zip, String fin, String fout ) throws IOException
	{
		try
		{
			java.io.File outfile = new java.io.File( fout );
			// clean it up
			outfile.deleteOnExit();

			File dirs = outfile.getParentFile();
			if( (dirs != null) && !dirs.exists() )
			{
				dirs.mkdirs();
				dirs.deleteOnExit();
			}
			BufferedOutputStream fos = new BufferedOutputStream( new FileOutputStream( outfile ) );
			InputStream fis = OOXMLReader.wrapInputStream( zip.getInputStream( OOXMLReader.getEntry( zip, fin ) ) );
			int i = fis.read();
			while( i != -1 )
			{
				fos.write( i );
				i = fis.read();
			}
			fos.flush();
			fos.close();
			dirs.delete();
		}
		catch( Exception e )
		{
			; // OK for external links for FNFE
		}
	}