code: @Override
    public JsonArray deepCopy() {
      if (!elements.isEmpty()) {
        JsonArray result = new JsonArray(elements.size());
        for (JsonElement element : elements) {
          result.add(element.deepCopy());
        }
        return result;
      }
      return new JsonArray();
    }
docs: Creates a deep copy of this element and all its children
  @since 2.8.2