in java-client/src/main/java/org/opensearch/client/opensearch/cluster/AllocationExplainResponse.java [358:511]
	protected void toJsonpInternal(JsonGenerator generator, JsonpMapper mapper) {
		if (this.allocateExplanation != null) {
			generator.writeKey("allocate_explanation");
			generator.write(this.allocateExplanation);
		}
		if (this.allocationDelay != null) {
			generator.writeKey("allocation_delay");
			generator.write(this.allocationDelay);
		}
		if (this.allocationDelayInMillis != null) {
			generator.writeKey("allocation_delay_in_millis");
			generator.write(this.allocationDelayInMillis.doubleValue());
		}
		if (this.canAllocate != null) {
			generator.writeKey("can_allocate");
			generator.write(this.canAllocate);
		}
		if (this.canMoveToOtherNode != null) {
			generator.writeKey("can_move_to_other_node");
			generator.write(this.canMoveToOtherNode);
		}
		if (this.canRebalanceCluster != null) {
			generator.writeKey("can_rebalance_cluster");
			generator.write(this.canRebalanceCluster);
		}
		if (this.canRebalanceClusterDecisions != null) {
			generator.writeKey("can_rebalance_cluster_decisions");
			generator.writeStartArray();
			for (AllocationDecision item0 : this.canRebalanceClusterDecisions) {
				item0.toJsonp(generator, mapper);
			}
			generator.writeEnd();
		}
		if (this.canRebalanceToOtherNode != null) {
			generator.writeKey("can_rebalance_to_other_node");
			generator.write(this.canRebalanceToOtherNode);
		}
		if (this.canRemainDecisions != null) {
			generator.writeKey("can_remain_decisions");
			generator.writeStartArray();
			for (AllocationDecision item0 : this.canRemainDecisions) {
				item0.toJsonp(generator, mapper);
			}
			generator.writeEnd();
		}
		if (this.canRemainOnCurrentNode != null) {
			generator.writeKey("can_remain_on_current_node");
			generator.write(this.canRemainOnCurrentNode);
		}
		if (this.clusterInfo != null) {
			generator.writeKey("cluster_info");
			this.clusterInfo.toJsonp(generator, mapper);
		}
		if (this.configuredDelay != null) {
			generator.writeKey("configured_delay");
			generator.write(this.configuredDelay);
		}
		if (this.configuredDelayInMillis != null) {
			generator.writeKey("configured_delay_in_millis");
			generator.write(this.configuredDelayInMillis.doubleValue());
		}
		if (this.currentNode != null) {
			generator.writeKey("current_node");
			this.currentNode.toJsonp(generator, mapper);
		}
		generator.writeKey("current_state");
		generator.write(this.currentState);
		generator.writeKey("index");
		generator.write(this.index);
		if (this.moveExplanation != null) {
			generator.writeKey("move_explanation");
			generator.write(this.moveExplanation);
		}
		if (this.nodeAllocationDecisions != null) {
			generator.writeKey("node_allocation_decisions");
			generator.writeStartArray();
			for (NodeAllocationExplanation item0 : this.nodeAllocationDecisions) {
				item0.toJsonp(generator, mapper);
			}
			generator.writeEnd();
		}
		generator.writeKey("primary");
		generator.write(this.primary);
		if (this.rebalanceExplanation != null) {
			generator.writeKey("rebalance_explanation");
			generator.write(this.rebalanceExplanation);
		}
		if (this.remainingDelay != null) {
			generator.writeKey("remaining_delay");
			generator.write(this.remainingDelay);
		}
		if (this.remainingDelayInMillis != null) {
			generator.writeKey("remaining_delay_in_millis");
			generator.write(this.remainingDelayInMillis.doubleValue());
		}
		generator.writeKey("shard");
		generator.write(this.shard.doubleValue());
		if (this.unassignedInfo != null) {
			generator.writeKey("unassigned_info");
			this.unassignedInfo.toJsonp(generator, mapper);
		}
	}