@Override
  public AdhocGroup clone() {
    AdhocGroup clone;
    try {
      clone = (AdhocGroup) super.clone();
    } catch (CloneNotSupportedException e) {
      throw new RuntimeException(e);
    }

    if (style != null) {
      clone.style = style.clone();
    }
    if (titleStyle != null) {
      clone.titleStyle = titleStyle.clone();
    }
    if (properties != null) {
      clone.properties = properties.clone();
    }

    return clone;
  }