code: @Override
  	public ICalendar _readNext() throws IOException {
  		if (reader.eof()) {
  			return null;
  		}
  
  		context.setVersion(ICalVersion.V2_0);
  
  		JCalDataStreamListenerImpl listener = new JCalDataStreamListenerImpl();
  		reader.readNext(listener);
  
  		return listener.getICalendar();
  	}
docs: Reads the next iCalendar object from the JSON data stream.
  @return the iCalendar object or null if there are no more
  @throws JCalParseException if the jCal syntax is incorrect (the JSON
  syntax may be valid, but it is not in the correct jCal format).
  @throws JsonParseException if the JSON syntax is incorrect
  @throws IOException if there is a problem reading from the data stream