/**
   * Constructs a KRMS Repository AgendaItemDefinition object from the given builder. This
   * constructor is private and should only ever be invoked from the builder.
   *
   * @param builder the Builder from which to construct the AgendaItemDefinition
   */
  private AgendaItemDefinition(Builder builder) {
    this.id = builder.getId();
    this.agendaId = builder.getAgendaId();
    this.ruleId = builder.getRuleId();
    this.subAgendaId = builder.getSubAgendaId();
    this.whenTrueId = builder.getWhenTrueId();
    this.whenFalseId = builder.getWhenFalseId();
    this.alwaysId = builder.getAlwaysId();
    this.versionNumber = builder.getVersionNumber();

    if (builder.getRule() != null) {
      this.rule = builder.getRule().build();
    }
    if (builder.getSubAgenda() != null) {
      this.subAgenda = builder.getSubAgenda().build();
    }
    if (builder.getWhenTrue() != null) {
      this.whenTrue = builder.getWhenTrue().build();
    }
    if (builder.getWhenFalse() != null) {
      this.whenFalse = builder.getWhenFalse().build();
    }
    if (builder.getAlways() != null) {
      this.always = builder.getAlways().build();
    }
  }
 private TermParameterDefinition(Builder builder) {
   id = builder.getId();
   termId = builder.getTermId();
   name = builder.getName();
   value = builder.getValue();
   versionNumber = builder.getVersionNumber();
 }
 private NotificationRecipient(Builder builder) {
   this.notificationId = builder.getNotificationId();
   this.recipientType = builder.getRecipientType();
   this.recipientId = builder.getRecipientId();
   this.id = builder.getId();
   this.versionNumber = builder.getVersionNumber();
   this.objectId = builder.getObjectId();
 }
 private ActionTaken(Builder builder) {
   this.annotation = builder.getAnnotation();
   this.id = builder.getId();
   this.documentId = builder.getDocumentId();
   this.principalId = builder.getPrincipalId();
   this.delegatorPrincipalId = builder.getDelegatorPrincipalId();
   this.delegatorGroupId = builder.getDelegatorGroupId();
   this.actionTakenCode = builder.getActionTaken().getCode();
   this.actionDate = builder.getActionDate();
   this.current = builder.isCurrent();
 }
  private KimTypeAttribute(Builder builder) {
    this.id = builder.getId();
    this.sortCode = builder.getSortCode();

    this.kimAttribute =
        builder.getKimAttribute() != null ? builder.getKimAttribute().build() : null;
    this.kimTypeId = builder.getKimTypeId();
    this.active = builder.isActive();
    this.versionNumber = builder.getVersionNumber();
    this.objectId = builder.getObjectId();
  }
 private ExtensionDefinition(Builder builder) {
   this.id = builder.getId();
   this.name = builder.getName();
   this.applicationId = builder.getApplicationId();
   this.label = builder.getLabel();
   this.description = builder.getDescription();
   this.type = builder.getType();
   this.resourceDescriptor = builder.getResourceDescriptor();
   if (builder.getConfiguration() == null) {
     this.configuration = Collections.emptyMap();
   } else {
     this.configuration =
         Collections.unmodifiableMap(new HashMap<String, String>(builder.getConfiguration()));
   }
   this.versionNumber = builder.getVersionNumber();
 }
 private RouteNodeInstanceState(Builder builder) {
   this.id = builder.getId();
   this.value = builder.getValue();
   this.key = builder.getKey();
 }