@Override
  public void applyChange(KMLAbstractObject sourceValues) {
    if (!(sourceValues instanceof KMLAbstractView)) {
      String message =
          Logging.getMessage("KML.InvalidElementType", sourceValues.getClass().getName());
      Logging.logger().warning(message);
      throw new IllegalArgumentException(message);
    }

    super.applyChange(sourceValues);

    this.onChange(new Message(KMLAbstractObject.MSG_VIEW_CHANGED, this));
  }
 @Override
 protected void doAddEventContent(
     Object o, XMLEventParserContext ctx, XMLEvent event, Object... args) {
   if (o instanceof KMLChange) this.addChange((KMLChange) o);
   else if (o instanceof KMLCreate) this.addCreate((KMLCreate) o);
   else if (o instanceof KMLDelete) this.addDelete((KMLDelete) o);
   else super.doAddEventContent(o, ctx, event, args);
 }
 @Override
 protected void doAddEventContent(
     Object o, XMLEventParserContext ctx, XMLEvent event, Object... args) {
   if (o instanceof KMLAlias) this.addAlias((KMLAlias) o);
   else super.doAddEventContent(o, ctx, event, args);
 }