code: public Component copy() throws ParseException, IOException,
              URISyntaxException {
          final VEvent copy = (VEvent) super.copy();
          copy.alarms = new ComponentList<VAlarm>(alarms);
          return copy;
      }
docs: Overrides default copy method to add support for copying alarm sub-components.
  @return a copy of the instance
  @throws ParseException where values in the instance cannot be parsed
  @throws IOException where values in the instance cannot be read
  @throws URISyntaxException where an invalid URI value is encountered in the instance
  @see net.fortuna.ical4j.model.Component#copy()