public JsonElement serialize() {
		JsonObject obj = new JsonObject();
		if (this.parent != null) {
			JsonArray parents = new JsonArray();
			obj.add("parent", parents);
			for (Activity item : this.parent) {
				parents.add(item.serialize());
			}
		}
		if (this.grouping != null) {
			JsonArray groupings = new JsonArray();
			obj.add("grouping", groupings);
			for (Activity g : this.grouping) {
				groupings.add(g.serialize());
			}
		}
		if (this.category != null) {
			JsonArray groupings = new JsonArray();
			obj.add("category", groupings);
			for (Activity g : this.category) {
				groupings.add(g.serialize());
			}
		}
		if (this.other != null) {
			JsonArray groupings = new JsonArray();
			obj.add("other", groupings);
			for (Activity g : this.other) {
				groupings.add(g.serialize());
			}
		}			
		return obj;
	}