All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.fabric8.openclustermanagement.api.model.OpenClusterManagementClusterSchemaFluent Maven / Gradle / Ivy

package io.fabric8.openclustermanagement.api.model;

import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterVersionFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterList;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterClaimSelectorFluent;
import java.lang.String;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterStatusBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSet;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterClaimBuilder;
import io.fabric8.kubernetes.api.builder.BaseFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterListFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PrioritizerPolicyFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterSpecBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterClaimSelectorBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterClaimSelector;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionStatusBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementSpecFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetListBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterStatus;
import java.lang.Object;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterSelectorBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBinding;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionStatusFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetStatusBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PrioritizerConfig;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementSpecBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingListBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementStatus;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterDecisionBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterPredicateFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingSpec;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementListBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetSpecFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterSpec;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ClientConfigBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PrioritizerPolicy;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ClientConfigFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedCluster;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterSelector;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementStatusFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingSpecFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionListBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingList;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterPredicate;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionList;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetSpec;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterDecision;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterPredicateBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PrioritizerPolicyBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterListBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementStatusBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.Placement;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PrioritizerConfigBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetList;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionListFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetStatus;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterSelectorFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterVersion;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingSpecBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBuilder;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetStatusFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecisionStatus;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementSpec;
import java.lang.SuppressWarnings;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterVersionBuilder;
import io.fabric8.kubernetes.api.builder.Nested;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterClaim;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterClaimFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementListFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.ClusterDecisionFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterStatusFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ClientConfig;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetBindingListFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementList;
import io.fabric8.openclustermanagement.api.model.cluster.v1.ManagedClusterSpecFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PrioritizerConfigFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetSpecBuilder;
import java.lang.Integer;
import io.fabric8.openclustermanagement.api.model.cluster.v1beta1.ManagedClusterSetListFluent;
import io.fabric8.openclustermanagement.api.model.cluster.v1alpha1.PlacementDecision;

/**
 * Generated
 */
@SuppressWarnings("unchecked")
public class OpenClusterManagementClusterSchemaFluent> extends BaseFluent{
  public OpenClusterManagementClusterSchemaFluent() {
  }
  
  public OpenClusterManagementClusterSchemaFluent(OpenClusterManagementClusterSchema instance) {
    this.copyInstance(instance);
  }
  private ClientConfigBuilder openClusterManagementIoApiClusterV1ClientConfig;
  private ManagedClusterBuilder openClusterManagementIoApiClusterV1ManagedCluster;
  private ManagedClusterClaimBuilder openClusterManagementIoApiClusterV1ManagedClusterClaim;
  private ManagedClusterListBuilder openClusterManagementIoApiClusterV1ManagedClusterList;
  private ManagedClusterSpecBuilder openClusterManagementIoApiClusterV1ManagedClusterSpec;
  private ManagedClusterStatusBuilder openClusterManagementIoApiClusterV1ManagedClusterStatus;
  private ManagedClusterVersionBuilder openClusterManagementIoApiClusterV1ManagedClusterVersion;
  private ClusterClaimSelectorBuilder openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector;
  private ClusterDecisionBuilder openClusterManagementIoApiClusterV1alpha1ClusterDecision;
  private ClusterPredicateBuilder openClusterManagementIoApiClusterV1alpha1ClusterPredicate;
  private ClusterSelectorBuilder openClusterManagementIoApiClusterV1alpha1ClusterSelector;
  private PlacementBuilder openClusterManagementIoApiClusterV1alpha1Placement;
  private PlacementDecisionBuilder openClusterManagementIoApiClusterV1alpha1PlacementDecision;
  private PlacementDecisionListBuilder openClusterManagementIoApiClusterV1alpha1PlacementDecisionList;
  private PlacementDecisionStatusBuilder openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus;
  private PlacementListBuilder openClusterManagementIoApiClusterV1alpha1PlacementList;
  private PlacementSpecBuilder openClusterManagementIoApiClusterV1alpha1PlacementSpec;
  private PlacementStatusBuilder openClusterManagementIoApiClusterV1alpha1PlacementStatus;
  private PrioritizerConfigBuilder openClusterManagementIoApiClusterV1alpha1PrioritizerConfig;
  private PrioritizerPolicyBuilder openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy;
  private ManagedClusterSetBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSet;
  private ManagedClusterSetBindingBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding;
  private ManagedClusterSetBindingListBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList;
  private ManagedClusterSetBindingSpecBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec;
  private ManagedClusterSetListBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSetList;
  private ManagedClusterSetSpecBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec;
  private ManagedClusterSetStatusBuilder openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus;
  
  protected void copyInstance(OpenClusterManagementClusterSchema instance) {
    instance = (instance != null ? instance : new OpenClusterManagementClusterSchema());
    if (instance != null) {
          this.withOpenClusterManagementIoApiClusterV1ClientConfig(instance.getOpenClusterManagementIoApiClusterV1ClientConfig());
          this.withOpenClusterManagementIoApiClusterV1ManagedCluster(instance.getOpenClusterManagementIoApiClusterV1ManagedCluster());
          this.withOpenClusterManagementIoApiClusterV1ManagedClusterClaim(instance.getOpenClusterManagementIoApiClusterV1ManagedClusterClaim());
          this.withOpenClusterManagementIoApiClusterV1ManagedClusterList(instance.getOpenClusterManagementIoApiClusterV1ManagedClusterList());
          this.withOpenClusterManagementIoApiClusterV1ManagedClusterSpec(instance.getOpenClusterManagementIoApiClusterV1ManagedClusterSpec());
          this.withOpenClusterManagementIoApiClusterV1ManagedClusterStatus(instance.getOpenClusterManagementIoApiClusterV1ManagedClusterStatus());
          this.withOpenClusterManagementIoApiClusterV1ManagedClusterVersion(instance.getOpenClusterManagementIoApiClusterV1ManagedClusterVersion());
          this.withOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector(instance.getOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector());
          this.withOpenClusterManagementIoApiClusterV1alpha1ClusterDecision(instance.getOpenClusterManagementIoApiClusterV1alpha1ClusterDecision());
          this.withOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate(instance.getOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate());
          this.withOpenClusterManagementIoApiClusterV1alpha1ClusterSelector(instance.getOpenClusterManagementIoApiClusterV1alpha1ClusterSelector());
          this.withOpenClusterManagementIoApiClusterV1alpha1Placement(instance.getOpenClusterManagementIoApiClusterV1alpha1Placement());
          this.withOpenClusterManagementIoApiClusterV1alpha1PlacementDecision(instance.getOpenClusterManagementIoApiClusterV1alpha1PlacementDecision());
          this.withOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList(instance.getOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList());
          this.withOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus(instance.getOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus());
          this.withOpenClusterManagementIoApiClusterV1alpha1PlacementList(instance.getOpenClusterManagementIoApiClusterV1alpha1PlacementList());
          this.withOpenClusterManagementIoApiClusterV1alpha1PlacementSpec(instance.getOpenClusterManagementIoApiClusterV1alpha1PlacementSpec());
          this.withOpenClusterManagementIoApiClusterV1alpha1PlacementStatus(instance.getOpenClusterManagementIoApiClusterV1alpha1PlacementStatus());
          this.withOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig(instance.getOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig());
          this.withOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy(instance.getOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec());
          this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus(instance.getOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus());
        }
  }
  
  public ClientConfig buildOpenClusterManagementIoApiClusterV1ClientConfig() {
    return this.openClusterManagementIoApiClusterV1ClientConfig != null ? this.openClusterManagementIoApiClusterV1ClientConfig.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ClientConfig(ClientConfig openClusterManagementIoApiClusterV1ClientConfig) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ClientConfig");
    if (openClusterManagementIoApiClusterV1ClientConfig != null) {
        this.openClusterManagementIoApiClusterV1ClientConfig = new ClientConfigBuilder(openClusterManagementIoApiClusterV1ClientConfig);
        this._visitables.get("openClusterManagementIoApiClusterV1ClientConfig").add(this.openClusterManagementIoApiClusterV1ClientConfig);
    } else {
        this.openClusterManagementIoApiClusterV1ClientConfig = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ClientConfig").remove(this.openClusterManagementIoApiClusterV1ClientConfig);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ClientConfig() {
    return this.openClusterManagementIoApiClusterV1ClientConfig != null;
  }
  
  public A withNewOpenClusterManagementIoApiClusterV1ClientConfig(String caBundle,String url) {
    return (A)withOpenClusterManagementIoApiClusterV1ClientConfig(new ClientConfig(caBundle, url));
  }
  
  public OpenClusterManagementIoApiClusterV1ClientConfigNested withNewOpenClusterManagementIoApiClusterV1ClientConfig() {
    return new OpenClusterManagementIoApiClusterV1ClientConfigNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ClientConfigNested withNewOpenClusterManagementIoApiClusterV1ClientConfigLike(ClientConfig item) {
    return new OpenClusterManagementIoApiClusterV1ClientConfigNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ClientConfigNested editOpenClusterManagementIoApiClusterV1ClientConfig() {
    return withNewOpenClusterManagementIoApiClusterV1ClientConfigLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ClientConfig()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ClientConfigNested editOrNewOpenClusterManagementIoApiClusterV1ClientConfig() {
    return withNewOpenClusterManagementIoApiClusterV1ClientConfigLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ClientConfig()).orElse(new ClientConfigBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ClientConfigNested editOrNewOpenClusterManagementIoApiClusterV1ClientConfigLike(ClientConfig item) {
    return withNewOpenClusterManagementIoApiClusterV1ClientConfigLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ClientConfig()).orElse(item));
  }
  
  public ManagedCluster buildOpenClusterManagementIoApiClusterV1ManagedCluster() {
    return this.openClusterManagementIoApiClusterV1ManagedCluster != null ? this.openClusterManagementIoApiClusterV1ManagedCluster.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ManagedCluster(ManagedCluster openClusterManagementIoApiClusterV1ManagedCluster) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ManagedCluster");
    if (openClusterManagementIoApiClusterV1ManagedCluster != null) {
        this.openClusterManagementIoApiClusterV1ManagedCluster = new ManagedClusterBuilder(openClusterManagementIoApiClusterV1ManagedCluster);
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedCluster").add(this.openClusterManagementIoApiClusterV1ManagedCluster);
    } else {
        this.openClusterManagementIoApiClusterV1ManagedCluster = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedCluster").remove(this.openClusterManagementIoApiClusterV1ManagedCluster);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ManagedCluster() {
    return this.openClusterManagementIoApiClusterV1ManagedCluster != null;
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterNested withNewOpenClusterManagementIoApiClusterV1ManagedCluster() {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterLike(ManagedCluster item) {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterNested editOpenClusterManagementIoApiClusterV1ManagedCluster() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedCluster()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterNested editOrNewOpenClusterManagementIoApiClusterV1ManagedCluster() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedCluster()).orElse(new ManagedClusterBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterLike(ManagedCluster item) {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedCluster()).orElse(item));
  }
  
  public ManagedClusterClaim buildOpenClusterManagementIoApiClusterV1ManagedClusterClaim() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterClaim != null ? this.openClusterManagementIoApiClusterV1ManagedClusterClaim.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ManagedClusterClaim(ManagedClusterClaim openClusterManagementIoApiClusterV1ManagedClusterClaim) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ManagedClusterClaim");
    if (openClusterManagementIoApiClusterV1ManagedClusterClaim != null) {
        this.openClusterManagementIoApiClusterV1ManagedClusterClaim = new ManagedClusterClaimBuilder(openClusterManagementIoApiClusterV1ManagedClusterClaim);
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterClaim").add(this.openClusterManagementIoApiClusterV1ManagedClusterClaim);
    } else {
        this.openClusterManagementIoApiClusterV1ManagedClusterClaim = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterClaim").remove(this.openClusterManagementIoApiClusterV1ManagedClusterClaim);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ManagedClusterClaim() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterClaim != null;
  }
  
  public A withNewOpenClusterManagementIoApiClusterV1ManagedClusterClaim(String name,String value) {
    return (A)withOpenClusterManagementIoApiClusterV1ManagedClusterClaim(new ManagedClusterClaim(name, value));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterClaim() {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterClaimLike(ManagedClusterClaim item) {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested editOpenClusterManagementIoApiClusterV1ManagedClusterClaim() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterClaimLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterClaim()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterClaim() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterClaimLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterClaim()).orElse(new ManagedClusterClaimBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterClaimLike(ManagedClusterClaim item) {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterClaimLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterClaim()).orElse(item));
  }
  
  public ManagedClusterList buildOpenClusterManagementIoApiClusterV1ManagedClusterList() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterList != null ? this.openClusterManagementIoApiClusterV1ManagedClusterList.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ManagedClusterList(ManagedClusterList openClusterManagementIoApiClusterV1ManagedClusterList) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ManagedClusterList");
    if (openClusterManagementIoApiClusterV1ManagedClusterList != null) {
        this.openClusterManagementIoApiClusterV1ManagedClusterList = new ManagedClusterListBuilder(openClusterManagementIoApiClusterV1ManagedClusterList);
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterList").add(this.openClusterManagementIoApiClusterV1ManagedClusterList);
    } else {
        this.openClusterManagementIoApiClusterV1ManagedClusterList = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterList").remove(this.openClusterManagementIoApiClusterV1ManagedClusterList);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ManagedClusterList() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterList != null;
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterListNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterList() {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterListNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterListNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterListLike(ManagedClusterList item) {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterListNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterListNested editOpenClusterManagementIoApiClusterV1ManagedClusterList() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterList()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterListNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterList() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterList()).orElse(new ManagedClusterListBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterListNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterListLike(ManagedClusterList item) {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterList()).orElse(item));
  }
  
  public ManagedClusterSpec buildOpenClusterManagementIoApiClusterV1ManagedClusterSpec() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterSpec != null ? this.openClusterManagementIoApiClusterV1ManagedClusterSpec.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ManagedClusterSpec(ManagedClusterSpec openClusterManagementIoApiClusterV1ManagedClusterSpec) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ManagedClusterSpec");
    if (openClusterManagementIoApiClusterV1ManagedClusterSpec != null) {
        this.openClusterManagementIoApiClusterV1ManagedClusterSpec = new ManagedClusterSpecBuilder(openClusterManagementIoApiClusterV1ManagedClusterSpec);
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterSpec").add(this.openClusterManagementIoApiClusterV1ManagedClusterSpec);
    } else {
        this.openClusterManagementIoApiClusterV1ManagedClusterSpec = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterSpec").remove(this.openClusterManagementIoApiClusterV1ManagedClusterSpec);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ManagedClusterSpec() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterSpec != null;
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterSpec() {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterSpecLike(ManagedClusterSpec item) {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested editOpenClusterManagementIoApiClusterV1ManagedClusterSpec() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterSpec()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterSpec() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterSpec()).orElse(new ManagedClusterSpecBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterSpecLike(ManagedClusterSpec item) {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterSpec()).orElse(item));
  }
  
  public ManagedClusterStatus buildOpenClusterManagementIoApiClusterV1ManagedClusterStatus() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterStatus != null ? this.openClusterManagementIoApiClusterV1ManagedClusterStatus.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ManagedClusterStatus(ManagedClusterStatus openClusterManagementIoApiClusterV1ManagedClusterStatus) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ManagedClusterStatus");
    if (openClusterManagementIoApiClusterV1ManagedClusterStatus != null) {
        this.openClusterManagementIoApiClusterV1ManagedClusterStatus = new ManagedClusterStatusBuilder(openClusterManagementIoApiClusterV1ManagedClusterStatus);
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterStatus").add(this.openClusterManagementIoApiClusterV1ManagedClusterStatus);
    } else {
        this.openClusterManagementIoApiClusterV1ManagedClusterStatus = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterStatus").remove(this.openClusterManagementIoApiClusterV1ManagedClusterStatus);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ManagedClusterStatus() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterStatus != null;
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterStatus() {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterStatusLike(ManagedClusterStatus item) {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested editOpenClusterManagementIoApiClusterV1ManagedClusterStatus() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterStatus()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterStatus() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterStatus()).orElse(new ManagedClusterStatusBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterStatusLike(ManagedClusterStatus item) {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterStatus()).orElse(item));
  }
  
  public ManagedClusterVersion buildOpenClusterManagementIoApiClusterV1ManagedClusterVersion() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterVersion != null ? this.openClusterManagementIoApiClusterV1ManagedClusterVersion.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1ManagedClusterVersion(ManagedClusterVersion openClusterManagementIoApiClusterV1ManagedClusterVersion) {
    this._visitables.remove("openClusterManagementIoApiClusterV1ManagedClusterVersion");
    if (openClusterManagementIoApiClusterV1ManagedClusterVersion != null) {
        this.openClusterManagementIoApiClusterV1ManagedClusterVersion = new ManagedClusterVersionBuilder(openClusterManagementIoApiClusterV1ManagedClusterVersion);
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterVersion").add(this.openClusterManagementIoApiClusterV1ManagedClusterVersion);
    } else {
        this.openClusterManagementIoApiClusterV1ManagedClusterVersion = null;
        this._visitables.get("openClusterManagementIoApiClusterV1ManagedClusterVersion").remove(this.openClusterManagementIoApiClusterV1ManagedClusterVersion);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1ManagedClusterVersion() {
    return this.openClusterManagementIoApiClusterV1ManagedClusterVersion != null;
  }
  
  public A withNewOpenClusterManagementIoApiClusterV1ManagedClusterVersion(String kubernetes) {
    return (A)withOpenClusterManagementIoApiClusterV1ManagedClusterVersion(new ManagedClusterVersion(kubernetes));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterVersion() {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested withNewOpenClusterManagementIoApiClusterV1ManagedClusterVersionLike(ManagedClusterVersion item) {
    return new OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested editOpenClusterManagementIoApiClusterV1ManagedClusterVersion() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterVersionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterVersion()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterVersion() {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterVersionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterVersion()).orElse(new ManagedClusterVersionBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested editOrNewOpenClusterManagementIoApiClusterV1ManagedClusterVersionLike(ManagedClusterVersion item) {
    return withNewOpenClusterManagementIoApiClusterV1ManagedClusterVersionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1ManagedClusterVersion()).orElse(item));
  }
  
  public ClusterClaimSelector buildOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector != null ? this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector(ClusterClaimSelector openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector");
    if (openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector != null) {
        this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector = new ClusterClaimSelectorBuilder(openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector").add(this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector").remove(this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector() {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorLike(ClusterClaimSelector item) {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested editOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector()).orElse(new ClusterClaimSelectorBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorLike(ClusterClaimSelector item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector()).orElse(item));
  }
  
  public ClusterDecision buildOpenClusterManagementIoApiClusterV1alpha1ClusterDecision() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterDecision != null ? this.openClusterManagementIoApiClusterV1alpha1ClusterDecision.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1ClusterDecision(ClusterDecision openClusterManagementIoApiClusterV1alpha1ClusterDecision) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1ClusterDecision");
    if (openClusterManagementIoApiClusterV1alpha1ClusterDecision != null) {
        this.openClusterManagementIoApiClusterV1alpha1ClusterDecision = new ClusterDecisionBuilder(openClusterManagementIoApiClusterV1alpha1ClusterDecision);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterDecision").add(this.openClusterManagementIoApiClusterV1alpha1ClusterDecision);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1ClusterDecision = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterDecision").remove(this.openClusterManagementIoApiClusterV1alpha1ClusterDecision);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1ClusterDecision() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterDecision != null;
  }
  
  public A withNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecision(String clusterName,String reason) {
    return (A)withOpenClusterManagementIoApiClusterV1alpha1ClusterDecision(new ClusterDecision(clusterName, reason));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecision() {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecisionLike(ClusterDecision item) {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested editOpenClusterManagementIoApiClusterV1alpha1ClusterDecision() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecisionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterDecision()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecision() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecisionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterDecision()).orElse(new ClusterDecisionBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecisionLike(ClusterDecision item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterDecisionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterDecision()).orElse(item));
  }
  
  public ClusterPredicate buildOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate != null ? this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate(ClusterPredicate openClusterManagementIoApiClusterV1alpha1ClusterPredicate) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1ClusterPredicate");
    if (openClusterManagementIoApiClusterV1alpha1ClusterPredicate != null) {
        this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate = new ClusterPredicateBuilder(openClusterManagementIoApiClusterV1alpha1ClusterPredicate);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterPredicate").add(this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterPredicate").remove(this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterPredicate != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate() {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicateLike(ClusterPredicate item) {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested editOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicateLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicateLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate()).orElse(new ClusterPredicateBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicateLike(ClusterPredicate item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterPredicateLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate()).orElse(item));
  }
  
  public ClusterSelector buildOpenClusterManagementIoApiClusterV1alpha1ClusterSelector() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterSelector != null ? this.openClusterManagementIoApiClusterV1alpha1ClusterSelector.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1ClusterSelector(ClusterSelector openClusterManagementIoApiClusterV1alpha1ClusterSelector) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1ClusterSelector");
    if (openClusterManagementIoApiClusterV1alpha1ClusterSelector != null) {
        this.openClusterManagementIoApiClusterV1alpha1ClusterSelector = new ClusterSelectorBuilder(openClusterManagementIoApiClusterV1alpha1ClusterSelector);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterSelector").add(this.openClusterManagementIoApiClusterV1alpha1ClusterSelector);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1ClusterSelector = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1ClusterSelector").remove(this.openClusterManagementIoApiClusterV1alpha1ClusterSelector);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1ClusterSelector() {
    return this.openClusterManagementIoApiClusterV1alpha1ClusterSelector != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelector() {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested withNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelectorLike(ClusterSelector item) {
    return new OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested editOpenClusterManagementIoApiClusterV1alpha1ClusterSelector() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelectorLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterSelector()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelector() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelectorLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterSelector()).orElse(new ClusterSelectorBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested editOrNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelectorLike(ClusterSelector item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1ClusterSelectorLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1ClusterSelector()).orElse(item));
  }
  
  public Placement buildOpenClusterManagementIoApiClusterV1alpha1Placement() {
    return this.openClusterManagementIoApiClusterV1alpha1Placement != null ? this.openClusterManagementIoApiClusterV1alpha1Placement.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1Placement(Placement openClusterManagementIoApiClusterV1alpha1Placement) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1Placement");
    if (openClusterManagementIoApiClusterV1alpha1Placement != null) {
        this.openClusterManagementIoApiClusterV1alpha1Placement = new PlacementBuilder(openClusterManagementIoApiClusterV1alpha1Placement);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1Placement").add(this.openClusterManagementIoApiClusterV1alpha1Placement);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1Placement = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1Placement").remove(this.openClusterManagementIoApiClusterV1alpha1Placement);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1Placement() {
    return this.openClusterManagementIoApiClusterV1alpha1Placement != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementNested withNewOpenClusterManagementIoApiClusterV1alpha1Placement() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementLike(Placement item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementNested editOpenClusterManagementIoApiClusterV1alpha1Placement() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1Placement()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementNested editOrNewOpenClusterManagementIoApiClusterV1alpha1Placement() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1Placement()).orElse(new PlacementBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementLike(Placement item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1Placement()).orElse(item));
  }
  
  public PlacementDecision buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecision() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementDecision != null ? this.openClusterManagementIoApiClusterV1alpha1PlacementDecision.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PlacementDecision(PlacementDecision openClusterManagementIoApiClusterV1alpha1PlacementDecision) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PlacementDecision");
    if (openClusterManagementIoApiClusterV1alpha1PlacementDecision != null) {
        this.openClusterManagementIoApiClusterV1alpha1PlacementDecision = new PlacementDecisionBuilder(openClusterManagementIoApiClusterV1alpha1PlacementDecision);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementDecision").add(this.openClusterManagementIoApiClusterV1alpha1PlacementDecision);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PlacementDecision = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementDecision").remove(this.openClusterManagementIoApiClusterV1alpha1PlacementDecision);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PlacementDecision() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementDecision != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecision() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionLike(PlacementDecision item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested editOpenClusterManagementIoApiClusterV1alpha1PlacementDecision() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecision()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecision() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecision()).orElse(new PlacementDecisionBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionLike(PlacementDecision item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecision()).orElse(item));
  }
  
  public PlacementDecisionList buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList != null ? this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList(PlacementDecisionList openClusterManagementIoApiClusterV1alpha1PlacementDecisionList) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PlacementDecisionList");
    if (openClusterManagementIoApiClusterV1alpha1PlacementDecisionList != null) {
        this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList = new PlacementDecisionListBuilder(openClusterManagementIoApiClusterV1alpha1PlacementDecisionList);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementDecisionList").add(this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementDecisionList").remove(this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListLike(PlacementDecisionList item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested editOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList()).orElse(new PlacementDecisionListBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListLike(PlacementDecisionList item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList()).orElse(item));
  }
  
  public PlacementDecisionStatus buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus != null ? this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus(PlacementDecisionStatus openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus");
    if (openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus != null) {
        this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus = new PlacementDecisionStatusBuilder(openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus").add(this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus").remove(this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusLike(PlacementDecisionStatus item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested editOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus()).orElse(new PlacementDecisionStatusBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusLike(PlacementDecisionStatus item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus()).orElse(item));
  }
  
  public PlacementList buildOpenClusterManagementIoApiClusterV1alpha1PlacementList() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementList != null ? this.openClusterManagementIoApiClusterV1alpha1PlacementList.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PlacementList(PlacementList openClusterManagementIoApiClusterV1alpha1PlacementList) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PlacementList");
    if (openClusterManagementIoApiClusterV1alpha1PlacementList != null) {
        this.openClusterManagementIoApiClusterV1alpha1PlacementList = new PlacementListBuilder(openClusterManagementIoApiClusterV1alpha1PlacementList);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementList").add(this.openClusterManagementIoApiClusterV1alpha1PlacementList);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PlacementList = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementList").remove(this.openClusterManagementIoApiClusterV1alpha1PlacementList);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PlacementList() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementList != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementListNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementList() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementListNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementListNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementListLike(PlacementList item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementListNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementListNested editOpenClusterManagementIoApiClusterV1alpha1PlacementList() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementList()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementListNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementList() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementList()).orElse(new PlacementListBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementListNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementListLike(PlacementList item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementList()).orElse(item));
  }
  
  public PlacementSpec buildOpenClusterManagementIoApiClusterV1alpha1PlacementSpec() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementSpec != null ? this.openClusterManagementIoApiClusterV1alpha1PlacementSpec.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PlacementSpec(PlacementSpec openClusterManagementIoApiClusterV1alpha1PlacementSpec) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PlacementSpec");
    if (openClusterManagementIoApiClusterV1alpha1PlacementSpec != null) {
        this.openClusterManagementIoApiClusterV1alpha1PlacementSpec = new PlacementSpecBuilder(openClusterManagementIoApiClusterV1alpha1PlacementSpec);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementSpec").add(this.openClusterManagementIoApiClusterV1alpha1PlacementSpec);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PlacementSpec = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementSpec").remove(this.openClusterManagementIoApiClusterV1alpha1PlacementSpec);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PlacementSpec() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementSpec != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpec() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpecLike(PlacementSpec item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested editOpenClusterManagementIoApiClusterV1alpha1PlacementSpec() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementSpec()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpec() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementSpec()).orElse(new PlacementSpecBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpecLike(PlacementSpec item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementSpec()).orElse(item));
  }
  
  public PlacementStatus buildOpenClusterManagementIoApiClusterV1alpha1PlacementStatus() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementStatus != null ? this.openClusterManagementIoApiClusterV1alpha1PlacementStatus.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PlacementStatus(PlacementStatus openClusterManagementIoApiClusterV1alpha1PlacementStatus) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PlacementStatus");
    if (openClusterManagementIoApiClusterV1alpha1PlacementStatus != null) {
        this.openClusterManagementIoApiClusterV1alpha1PlacementStatus = new PlacementStatusBuilder(openClusterManagementIoApiClusterV1alpha1PlacementStatus);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementStatus").add(this.openClusterManagementIoApiClusterV1alpha1PlacementStatus);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PlacementStatus = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PlacementStatus").remove(this.openClusterManagementIoApiClusterV1alpha1PlacementStatus);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PlacementStatus() {
    return this.openClusterManagementIoApiClusterV1alpha1PlacementStatus != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatus() {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested withNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatusLike(PlacementStatus item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested editOpenClusterManagementIoApiClusterV1alpha1PlacementStatus() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementStatus()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatus() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementStatus()).orElse(new PlacementStatusBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatusLike(PlacementStatus item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PlacementStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PlacementStatus()).orElse(item));
  }
  
  public PrioritizerConfig buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig() {
    return this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig != null ? this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig(PrioritizerConfig openClusterManagementIoApiClusterV1alpha1PrioritizerConfig) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PrioritizerConfig");
    if (openClusterManagementIoApiClusterV1alpha1PrioritizerConfig != null) {
        this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig = new PrioritizerConfigBuilder(openClusterManagementIoApiClusterV1alpha1PrioritizerConfig);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PrioritizerConfig").add(this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PrioritizerConfig").remove(this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig() {
    return this.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig != null;
  }
  
  public A withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig(String name,Integer weight) {
    return (A)withOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig(new PrioritizerConfig(name, weight));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig() {
    return new OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigLike(PrioritizerConfig item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested editOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig()).orElse(new PrioritizerConfigBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigLike(PrioritizerConfig item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig()).orElse(item));
  }
  
  public PrioritizerPolicy buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy() {
    return this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy != null ? this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy(PrioritizerPolicy openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy) {
    this._visitables.remove("openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy");
    if (openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy != null) {
        this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy = new PrioritizerPolicyBuilder(openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy);
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy").add(this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy);
    } else {
        this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy = null;
        this._visitables.get("openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy").remove(this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy() {
    return this.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy != null;
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy() {
    return new OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyLike(PrioritizerPolicy item) {
    return new OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested editOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy() {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy()).orElse(new PrioritizerPolicyBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested editOrNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyLike(PrioritizerPolicy item) {
    return withNewOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy()).orElse(item));
  }
  
  public ManagedClusterSet buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet(ManagedClusterSet openClusterManagementIoApiClusterV1beta1ManagedClusterSet) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSet");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSet != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet = new ManagedClusterSetBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSet);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSet").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSet").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSet != null;
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetLike(ManagedClusterSet item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet()).orElse(new ManagedClusterSetBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetLike(ManagedClusterSet item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet()).orElse(item));
  }
  
  public ManagedClusterSetBinding buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding(ManagedClusterSetBinding openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding = new ManagedClusterSetBindingBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding != null;
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingLike(ManagedClusterSetBinding item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding()).orElse(new ManagedClusterSetBindingBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingLike(ManagedClusterSetBinding item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding()).orElse(item));
  }
  
  public ManagedClusterSetBindingList buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList(ManagedClusterSetBindingList openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList = new ManagedClusterSetBindingListBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList != null;
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListLike(ManagedClusterSetBindingList item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList()).orElse(new ManagedClusterSetBindingListBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListLike(ManagedClusterSetBindingList item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList()).orElse(item));
  }
  
  public ManagedClusterSetBindingSpec buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec(ManagedClusterSetBindingSpec openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec = new ManagedClusterSetBindingSpecBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec != null;
  }
  
  public A withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec(String clusterSet) {
    return (A)withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec(new ManagedClusterSetBindingSpec(clusterSet));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecLike(ManagedClusterSetBindingSpec item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec()).orElse(new ManagedClusterSetBindingSpecBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecLike(ManagedClusterSetBindingSpec item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec()).orElse(item));
  }
  
  public ManagedClusterSetList buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList(ManagedClusterSetList openClusterManagementIoApiClusterV1beta1ManagedClusterSetList) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSetList");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetList != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList = new ManagedClusterSetListBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSetList);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetList").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetList").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList != null;
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListLike(ManagedClusterSetList item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList()).orElse(new ManagedClusterSetListBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListLike(ManagedClusterSetList item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList()).orElse(item));
  }
  
  public ManagedClusterSetSpec buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec(ManagedClusterSetSpec openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec = new ManagedClusterSetSpecBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec != null;
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecLike(ManagedClusterSetSpec item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec()).orElse(new ManagedClusterSetSpecBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecLike(ManagedClusterSetSpec item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec()).orElse(item));
  }
  
  public ManagedClusterSetStatus buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus != null ? this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus.build() : null;
  }
  
  public A withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus(ManagedClusterSetStatus openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus) {
    this._visitables.remove("openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus");
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus != null) {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus = new ManagedClusterSetStatusBuilder(openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus);
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus").add(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus);
    } else {
        this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus = null;
        this._visitables.get("openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus").remove(this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus);
    }
    return (A) this;
  }
  
  public boolean hasOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus() {
    return this.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus != null;
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus() {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested(null);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusLike(ManagedClusterSetStatus item) {
    return new OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested(item);
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested editOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus()).orElse(null));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus() {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus()).orElse(new ManagedClusterSetStatusBuilder().build()));
  }
  
  public OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested editOrNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusLike(ManagedClusterSetStatus item) {
    return withNewOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusLike(java.util.Optional.ofNullable(buildOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus()).orElse(item));
  }
  
  public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;
    if (!super.equals(o)) return false;
    OpenClusterManagementClusterSchemaFluent that = (OpenClusterManagementClusterSchemaFluent) o;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ClientConfig, that.openClusterManagementIoApiClusterV1ClientConfig)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ManagedCluster, that.openClusterManagementIoApiClusterV1ManagedCluster)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ManagedClusterClaim, that.openClusterManagementIoApiClusterV1ManagedClusterClaim)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ManagedClusterList, that.openClusterManagementIoApiClusterV1ManagedClusterList)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ManagedClusterSpec, that.openClusterManagementIoApiClusterV1ManagedClusterSpec)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ManagedClusterStatus, that.openClusterManagementIoApiClusterV1ManagedClusterStatus)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1ManagedClusterVersion, that.openClusterManagementIoApiClusterV1ManagedClusterVersion)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector, that.openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1ClusterDecision, that.openClusterManagementIoApiClusterV1alpha1ClusterDecision)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1ClusterPredicate, that.openClusterManagementIoApiClusterV1alpha1ClusterPredicate)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1ClusterSelector, that.openClusterManagementIoApiClusterV1alpha1ClusterSelector)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1Placement, that.openClusterManagementIoApiClusterV1alpha1Placement)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PlacementDecision, that.openClusterManagementIoApiClusterV1alpha1PlacementDecision)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PlacementDecisionList, that.openClusterManagementIoApiClusterV1alpha1PlacementDecisionList)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus, that.openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PlacementList, that.openClusterManagementIoApiClusterV1alpha1PlacementList)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PlacementSpec, that.openClusterManagementIoApiClusterV1alpha1PlacementSpec)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PlacementStatus, that.openClusterManagementIoApiClusterV1alpha1PlacementStatus)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PrioritizerConfig, that.openClusterManagementIoApiClusterV1alpha1PrioritizerConfig)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy, that.openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSet, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSet)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSetList, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSetList)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec)) return false;
    if (!java.util.Objects.equals(openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus, that.openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus)) return false;
    return true;
  }
  
  public int hashCode() {
    return java.util.Objects.hash(openClusterManagementIoApiClusterV1ClientConfig,  openClusterManagementIoApiClusterV1ManagedCluster,  openClusterManagementIoApiClusterV1ManagedClusterClaim,  openClusterManagementIoApiClusterV1ManagedClusterList,  openClusterManagementIoApiClusterV1ManagedClusterSpec,  openClusterManagementIoApiClusterV1ManagedClusterStatus,  openClusterManagementIoApiClusterV1ManagedClusterVersion,  openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector,  openClusterManagementIoApiClusterV1alpha1ClusterDecision,  openClusterManagementIoApiClusterV1alpha1ClusterPredicate,  openClusterManagementIoApiClusterV1alpha1ClusterSelector,  openClusterManagementIoApiClusterV1alpha1Placement,  openClusterManagementIoApiClusterV1alpha1PlacementDecision,  openClusterManagementIoApiClusterV1alpha1PlacementDecisionList,  openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus,  openClusterManagementIoApiClusterV1alpha1PlacementList,  openClusterManagementIoApiClusterV1alpha1PlacementSpec,  openClusterManagementIoApiClusterV1alpha1PlacementStatus,  openClusterManagementIoApiClusterV1alpha1PrioritizerConfig,  openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy,  openClusterManagementIoApiClusterV1beta1ManagedClusterSet,  openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding,  openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList,  openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec,  openClusterManagementIoApiClusterV1beta1ManagedClusterSetList,  openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec,  openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus,  super.hashCode());
  }
  
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("{");
    if (openClusterManagementIoApiClusterV1ClientConfig != null) { sb.append("openClusterManagementIoApiClusterV1ClientConfig:"); sb.append(openClusterManagementIoApiClusterV1ClientConfig + ","); }
    if (openClusterManagementIoApiClusterV1ManagedCluster != null) { sb.append("openClusterManagementIoApiClusterV1ManagedCluster:"); sb.append(openClusterManagementIoApiClusterV1ManagedCluster + ","); }
    if (openClusterManagementIoApiClusterV1ManagedClusterClaim != null) { sb.append("openClusterManagementIoApiClusterV1ManagedClusterClaim:"); sb.append(openClusterManagementIoApiClusterV1ManagedClusterClaim + ","); }
    if (openClusterManagementIoApiClusterV1ManagedClusterList != null) { sb.append("openClusterManagementIoApiClusterV1ManagedClusterList:"); sb.append(openClusterManagementIoApiClusterV1ManagedClusterList + ","); }
    if (openClusterManagementIoApiClusterV1ManagedClusterSpec != null) { sb.append("openClusterManagementIoApiClusterV1ManagedClusterSpec:"); sb.append(openClusterManagementIoApiClusterV1ManagedClusterSpec + ","); }
    if (openClusterManagementIoApiClusterV1ManagedClusterStatus != null) { sb.append("openClusterManagementIoApiClusterV1ManagedClusterStatus:"); sb.append(openClusterManagementIoApiClusterV1ManagedClusterStatus + ","); }
    if (openClusterManagementIoApiClusterV1ManagedClusterVersion != null) { sb.append("openClusterManagementIoApiClusterV1ManagedClusterVersion:"); sb.append(openClusterManagementIoApiClusterV1ManagedClusterVersion + ","); }
    if (openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector != null) { sb.append("openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector:"); sb.append(openClusterManagementIoApiClusterV1alpha1ClusterClaimSelector + ","); }
    if (openClusterManagementIoApiClusterV1alpha1ClusterDecision != null) { sb.append("openClusterManagementIoApiClusterV1alpha1ClusterDecision:"); sb.append(openClusterManagementIoApiClusterV1alpha1ClusterDecision + ","); }
    if (openClusterManagementIoApiClusterV1alpha1ClusterPredicate != null) { sb.append("openClusterManagementIoApiClusterV1alpha1ClusterPredicate:"); sb.append(openClusterManagementIoApiClusterV1alpha1ClusterPredicate + ","); }
    if (openClusterManagementIoApiClusterV1alpha1ClusterSelector != null) { sb.append("openClusterManagementIoApiClusterV1alpha1ClusterSelector:"); sb.append(openClusterManagementIoApiClusterV1alpha1ClusterSelector + ","); }
    if (openClusterManagementIoApiClusterV1alpha1Placement != null) { sb.append("openClusterManagementIoApiClusterV1alpha1Placement:"); sb.append(openClusterManagementIoApiClusterV1alpha1Placement + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PlacementDecision != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PlacementDecision:"); sb.append(openClusterManagementIoApiClusterV1alpha1PlacementDecision + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PlacementDecisionList != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PlacementDecisionList:"); sb.append(openClusterManagementIoApiClusterV1alpha1PlacementDecisionList + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus:"); sb.append(openClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PlacementList != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PlacementList:"); sb.append(openClusterManagementIoApiClusterV1alpha1PlacementList + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PlacementSpec != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PlacementSpec:"); sb.append(openClusterManagementIoApiClusterV1alpha1PlacementSpec + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PlacementStatus != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PlacementStatus:"); sb.append(openClusterManagementIoApiClusterV1alpha1PlacementStatus + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PrioritizerConfig != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PrioritizerConfig:"); sb.append(openClusterManagementIoApiClusterV1alpha1PrioritizerConfig + ","); }
    if (openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy != null) { sb.append("openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy:"); sb.append(openClusterManagementIoApiClusterV1alpha1PrioritizerPolicy + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSet != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSet:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSet + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetList != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSetList:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSetList + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec + ","); }
    if (openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus != null) { sb.append("openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus:"); sb.append(openClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus); }
    sb.append("}");
    return sb.toString();
  }
  public class OpenClusterManagementIoApiClusterV1ClientConfigNested extends ClientConfigFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ClientConfigNested(ClientConfig item) {
      this.builder = new ClientConfigBuilder(this, item);
    }
    ClientConfigBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ClientConfig(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ClientConfig() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1ManagedClusterNested extends ManagedClusterFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ManagedClusterNested(ManagedCluster item) {
      this.builder = new ManagedClusterBuilder(this, item);
    }
    ManagedClusterBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ManagedCluster(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ManagedCluster() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested extends ManagedClusterClaimFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ManagedClusterClaimNested(ManagedClusterClaim item) {
      this.builder = new ManagedClusterClaimBuilder(this, item);
    }
    ManagedClusterClaimBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ManagedClusterClaim(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ManagedClusterClaim() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1ManagedClusterListNested extends ManagedClusterListFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ManagedClusterListNested(ManagedClusterList item) {
      this.builder = new ManagedClusterListBuilder(this, item);
    }
    ManagedClusterListBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ManagedClusterList(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ManagedClusterList() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested extends ManagedClusterSpecFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ManagedClusterSpecNested(ManagedClusterSpec item) {
      this.builder = new ManagedClusterSpecBuilder(this, item);
    }
    ManagedClusterSpecBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ManagedClusterSpec(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ManagedClusterSpec() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested extends ManagedClusterStatusFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ManagedClusterStatusNested(ManagedClusterStatus item) {
      this.builder = new ManagedClusterStatusBuilder(this, item);
    }
    ManagedClusterStatusBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ManagedClusterStatus(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ManagedClusterStatus() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested extends ManagedClusterVersionFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1ManagedClusterVersionNested(ManagedClusterVersion item) {
      this.builder = new ManagedClusterVersionBuilder(this, item);
    }
    ManagedClusterVersionBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1ManagedClusterVersion(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1ManagedClusterVersion() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested extends ClusterClaimSelectorFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelectorNested(ClusterClaimSelector item) {
      this.builder = new ClusterClaimSelectorBuilder(this, item);
    }
    ClusterClaimSelectorBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1ClusterClaimSelector() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested extends ClusterDecisionFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1ClusterDecisionNested(ClusterDecision item) {
      this.builder = new ClusterDecisionBuilder(this, item);
    }
    ClusterDecisionBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1ClusterDecision(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1ClusterDecision() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested extends ClusterPredicateFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1ClusterPredicateNested(ClusterPredicate item) {
      this.builder = new ClusterPredicateBuilder(this, item);
    }
    ClusterPredicateBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1ClusterPredicate() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested extends ClusterSelectorFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1ClusterSelectorNested(ClusterSelector item) {
      this.builder = new ClusterSelectorBuilder(this, item);
    }
    ClusterSelectorBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1ClusterSelector(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1ClusterSelector() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementNested extends PlacementFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementNested(Placement item) {
      this.builder = new PlacementBuilder(this, item);
    }
    PlacementBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1Placement(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1Placement() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested extends PlacementDecisionFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionNested(PlacementDecision item) {
      this.builder = new PlacementDecisionBuilder(this, item);
    }
    PlacementDecisionBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PlacementDecision(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PlacementDecision() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested extends PlacementDecisionListFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionListNested(PlacementDecisionList item) {
      this.builder = new PlacementDecisionListBuilder(this, item);
    }
    PlacementDecisionListBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionList() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested extends PlacementDecisionStatusFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatusNested(PlacementDecisionStatus item) {
      this.builder = new PlacementDecisionStatusBuilder(this, item);
    }
    PlacementDecisionStatusBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PlacementDecisionStatus() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementListNested extends PlacementListFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementListNested(PlacementList item) {
      this.builder = new PlacementListBuilder(this, item);
    }
    PlacementListBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PlacementList(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PlacementList() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested extends PlacementSpecFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementSpecNested(PlacementSpec item) {
      this.builder = new PlacementSpecBuilder(this, item);
    }
    PlacementSpecBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PlacementSpec(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PlacementSpec() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested extends PlacementStatusFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PlacementStatusNested(PlacementStatus item) {
      this.builder = new PlacementStatusBuilder(this, item);
    }
    PlacementStatusBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PlacementStatus(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PlacementStatus() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested extends PrioritizerConfigFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PrioritizerConfigNested(PrioritizerConfig item) {
      this.builder = new PrioritizerConfigBuilder(this, item);
    }
    PrioritizerConfigBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PrioritizerConfig() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested extends PrioritizerPolicyFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicyNested(PrioritizerPolicy item) {
      this.builder = new PrioritizerPolicyBuilder(this, item);
    }
    PrioritizerPolicyBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1alpha1PrioritizerPolicy() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested extends ManagedClusterSetFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetNested(ManagedClusterSet item) {
      this.builder = new ManagedClusterSetBuilder(this, item);
    }
    ManagedClusterSetBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSet() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested extends ManagedClusterSetBindingFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingNested(ManagedClusterSetBinding item) {
      this.builder = new ManagedClusterSetBindingBuilder(this, item);
    }
    ManagedClusterSetBindingBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBinding() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested extends ManagedClusterSetBindingListFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingListNested(ManagedClusterSetBindingList item) {
      this.builder = new ManagedClusterSetBindingListBuilder(this, item);
    }
    ManagedClusterSetBindingListBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingList() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested extends ManagedClusterSetBindingSpecFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpecNested(ManagedClusterSetBindingSpec item) {
      this.builder = new ManagedClusterSetBindingSpecBuilder(this, item);
    }
    ManagedClusterSetBindingSpecBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetBindingSpec() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested extends ManagedClusterSetListFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetListNested(ManagedClusterSetList item) {
      this.builder = new ManagedClusterSetListBuilder(this, item);
    }
    ManagedClusterSetListBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetList() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested extends ManagedClusterSetSpecFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpecNested(ManagedClusterSetSpec item) {
      this.builder = new ManagedClusterSetSpecBuilder(this, item);
    }
    ManagedClusterSetSpecBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetSpec() {
      return and();
    }
    
  
  }
  public class OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested extends ManagedClusterSetStatusFluent> implements Nested{
    OpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatusNested(ManagedClusterSetStatus item) {
      this.builder = new ManagedClusterSetStatusBuilder(this, item);
    }
    ManagedClusterSetStatusBuilder builder;
    
    public N and() {
      return (N) OpenClusterManagementClusterSchemaFluent.this.withOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus(builder.build());
    }
    
    public N endOpenClusterManagementIoApiClusterV1beta1ManagedClusterSetStatus() {
      return and();
    }
    
  
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy