code: public File preProcessFile(InputStream in) throws IOException {
  
  		SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
  		LOG.info("BIOPAX Conversion started "
  				+ sdf.format(Calendar.getInstance().getTime()));
  
  		if (in == null) {
  			throw new IllegalArgumentException("Input File: " + " is not found");
  		}
  
  		SimpleIOHandler simpleIO = new SimpleIOHandler(BioPAXLevel.L3);
  
  		// create a Paxtools Model from the BioPAX L3 RDF/XML input file (stream)
  		org.biopax.paxtools.model.Model model = simpleIO.convertFromOWL(in);
  		// - and the input stream 'in' gets closed inside the above method call
  
  		// set for the IO to output full URIs:
  
  		simpleIO.absoluteUris(true);
  
  		File fullUriBiopaxInput = File.createTempFile("paxtools", ".owl");
  
  		fullUriBiopaxInput.deleteOnExit(); // delete on JVM exits
  		FileOutputStream outputStream = new FileOutputStream(fullUriBiopaxInput);
  
  		// write to an output stream (back to RDF/XML)
  
  		simpleIO.convertToOWL((org.biopax.paxtools.model.Model) model,	outputStream); // it closes the stream internally
  
  		LOG.info("BIOPAX Conversion finished " + sdf.format(Calendar.getInstance().getTime()));
  		return fullUriBiopaxInput;
  	}
docs: Converts the BioPAX data (stream) to an equivalent temporary
  BioPAX RDF/XML file that contains absolute instead of (possibly)
  relative URIs for all the BioPAX elements out there; and returns that file.
  
  @param in biopax input stream
  @return a temporary file
  @throws IOException