code: public boolean searchSIF(Model model, OutputStream out, SIFToText stt)
  	{
  		Set<SIFInteraction> inters = searchSIF(model);
  
  		if (!inters.isEmpty())
  		{
  			List<SIFInteraction> interList = new ArrayList<SIFInteraction>(inters);
  			Collections.sort(interList);
  			try
  			{
  				boolean first = true;
  				OutputStreamWriter writer = new OutputStreamWriter(out);
  				for (SIFInteraction inter : interList)
  				{
  					if (first) first = false;
  					else writer.write("\n");
  
  					writer.write(stt.convert(inter));
  				}
  				writer.close();
  				return true;
  			}
  			catch (IOException e)
  			{
  				e.printStackTrace();
  			}
  		}
  		return false;
  	}
docs: Searches the given model with the contained miners. Writes the textual result to the given
  output stream. Closes the stream at the end.
  @param model model to search
  @param out stream to write
  @param stt sif to text converter
  @return true if any output produced successfully