public void export(String mimeType, Object output)
      throws IOException, UnsupportedOperationException {
    if (mimeType == null) {
      String message = Logging.getMessage("nullValue.Format");
      Logging.logger().severe(message);
      throw new IllegalArgumentException(message);
    }

    if (output == null) {
      String message = Logging.getMessage("nullValue.OutputBufferIsNull");
      Logging.logger().severe(message);
      throw new IllegalArgumentException(message);
    }

    if (KMLConstants.KML_MIME_TYPE.equalsIgnoreCase(mimeType)) {
      try {
        exportAsKML(output);
      } catch (XMLStreamException e) {
        Logging.logger().throwing(getClass().getName(), "export", e);
        throw new IOException(e);
      }
    } else {
      String message = Logging.getMessage("Export.UnsupportedFormat", mimeType);
      Logging.logger().warning(message);
      throw new UnsupportedOperationException(message);
    }
  }