public static boolean convertUclickPuzzle(
      InputStream is, DataOutputStream os, String copyright, Calendar date) {
    Puzzle puz = new Puzzle();
    puz.setDate(date);
    puz.setCopyright(copyright);
    SAXParserFactory factory = SAXParserFactory.newInstance();
    try {
      SAXParser parser = factory.newSAXParser();
      // parser.setProperty("http://xml.org/sax/features/validation", false);
      XMLReader xr = parser.getXMLReader();
      xr.setContentHandler(new UclickXMLParser(puz));
      xr.parse(new InputSource(is));

      puz.setVersion(IO.VERSION_STRING);
      puz.setNotes("");

      IO.save(puz, os);
      return true;
    } catch (Exception e) {
      e.printStackTrace();
      return false;
    }
  }