code: public Iterator<Document> read(Reader reader) {
          SAXParserFactory saxfac = SAXParserFactory.newInstance();
          saxfac.setValidating(false);
  
          // Ignore a number of xml features, like dtd grammars and validation.
          try {
              saxfac.setFeature("http://xml.org/sax/features/validation", false);
              saxfac.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
              saxfac.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
              saxfac.setFeature("http://xml.org/sax/features/external-general-entities", false);
              saxfac.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
              SAXParser saxParser = saxfac.newSAXParser();
              SemEvalHandler handler = new SemEvalHandler();
              saxParser.parse(new InputSource(reader), handler);
              return handler.contexts.iterator();
          } catch (IOException ioe) {
              throw new IOError(ioe);
          } catch (SAXNotRecognizedException e1) {
              throw new RuntimeException(e1);
          }catch (SAXNotSupportedException e1) {
              throw new RuntimeException(e1);
          } catch (ParserConfigurationException e1) {
              throw new RuntimeException(e1);
          } catch (SAXException e) {
              throw new RuntimeException(e);
          }
      }
docs: {@inheritDoc}