docs: public Collection<LifecycleCommitChaincodeDefinitionProposalResponse> sendLifecycleCommitChaincodeDefinitionProposal(LifecycleCommitChaincodeDefinitionRequest lifecycleCommitChaincodeDefinitionRequest, Collection<Peer> peers) throws InvalidArgumentException, ProposalException {
  
          if (null == lifecycleCommitChaincodeDefinitionRequest) {
              throw new InvalidArgumentException("The lifecycleCommitChaincodeDefinitionRequest parameter can not be null.");
          }
          checkChannelState();
          checkPeers(peers);
  
          try {
  
              if (IS_TRACE_LEVEL) {
  
                  String collectionData = "null";
  
                  final ChaincodeCollectionConfiguration chaincodeCollectionConfiguration = lifecycleCommitChaincodeDefinitionRequest.getChaincodeCollectionConfiguration();
                  if (null != chaincodeCollectionConfiguration) {
                      final byte[] asBytes = chaincodeCollectionConfiguration.getAsBytes();
                      if (null != asBytes) {
                          collectionData = toHexString(asBytes);
                      }
                  }
  
                  logger.trace(format("LifecycleCommitChaincodeDefinition channel: %s, sequence: %d, chaincodeName: %s, chaincodeVersion: %s" +
                                  ", isInitRequired: %s, validationParameter: '%s', endorsementPolicyPlugin: %s, validationPlugin: %s" +
                                  ", collectionConfiguration: %s",
                          name,
                          lifecycleCommitChaincodeDefinitionRequest.getSequence(),
                          lifecycleCommitChaincodeDefinitionRequest.getChaincodeName(),
                          lifecycleCommitChaincodeDefinitionRequest.getChaincodeVersion(),
  
                          lifecycleCommitChaincodeDefinitionRequest.isInitRequired() + "",
                          toHexString(lifecycleCommitChaincodeDefinitionRequest.getValidationParameter()),
                          lifecycleCommitChaincodeDefinitionRequest.getChaincodeEndorsementPlugin(),
                          lifecycleCommitChaincodeDefinitionRequest.getChaincodeValidationPlugin(),
                          collectionData));
  
              }
              TransactionContext transactionContext = getTransactionContext(lifecycleCommitChaincodeDefinitionRequest);
              LifecycleCommitChaincodeDefinitionProposalBuilder commitChaincodeDefinitionProposalBuilder = LifecycleCommitChaincodeDefinitionProposalBuilder.newBuilder();
              commitChaincodeDefinitionProposalBuilder.context(transactionContext);
              commitChaincodeDefinitionProposalBuilder.chaincodeName(lifecycleCommitChaincodeDefinitionRequest.getChaincodeName());
              commitChaincodeDefinitionProposalBuilder.version(lifecycleCommitChaincodeDefinitionRequest.getChaincodeVersion());
              commitChaincodeDefinitionProposalBuilder.sequence(lifecycleCommitChaincodeDefinitionRequest.getSequence());
              Boolean initRequired = lifecycleCommitChaincodeDefinitionRequest.isInitRequired();
              if (null != initRequired) {
                  commitChaincodeDefinitionProposalBuilder.initRequired(initRequired);
              }
  
              ByteString validationParameter = lifecycleCommitChaincodeDefinitionRequest.getValidationParameter();
              if (null != validationParameter) {
  
                  commitChaincodeDefinitionProposalBuilder.setValidationParamter(validationParameter);
  
              }
  
              String chaincodeCodeEndorsementPlugin = lifecycleCommitChaincodeDefinitionRequest.getChaincodeEndorsementPlugin();
              if (null != chaincodeCodeEndorsementPlugin) {
                  commitChaincodeDefinitionProposalBuilder.chaincodeCodeEndorsementPlugin(chaincodeCodeEndorsementPlugin);
              }
  
              String chaincodeCodeValidationPlugin = lifecycleCommitChaincodeDefinitionRequest.getChaincodeValidationPlugin();
              if (null != chaincodeCodeValidationPlugin) {
                  commitChaincodeDefinitionProposalBuilder.chaincodeCodeValidationPlugin(chaincodeCodeValidationPlugin);
              }
  
              ChaincodeCollectionConfiguration chaincodeCollectionConfiguration = lifecycleCommitChaincodeDefinitionRequest.getChaincodeCollectionConfiguration();
              if (null != chaincodeCollectionConfiguration) {
                  commitChaincodeDefinitionProposalBuilder.chaincodeCollectionConfiguration(chaincodeCollectionConfiguration.getCollectionConfigPackage());
              }
  
              FabricProposal.Proposal deploymentProposal = commitChaincodeDefinitionProposalBuilder.build();
              SignedProposal signedProposal = getSignedProposal(transactionContext, deploymentProposal);
  
              return sendProposalToPeers(peers, signedProposal, transactionContext, LifecycleCommitChaincodeDefinitionProposalResponse.class);
          } catch (Exception e) {
              throw new ProposalException(e);
          }
      }