docs: public BlockInfo queryBlockByTransactionID(Collection<Peer> peers, String txID, User userContext) throws InvalidArgumentException, ProposalException {
  
          checkChannelState();
          checkPeers(peers);
          User.userContextCheck(userContext);
  
          if (txID == null) {
              throw new InvalidArgumentException("TxID parameter is null.");
          }
  
          try {
              logger.debug("queryBlockByTransactionID with txID " + txID + " \n    " + " on channel " + name);
              QuerySCCRequest querySCCRequest = new QuerySCCRequest(userContext);
              querySCCRequest.setFcn(QuerySCCRequest.GETBLOCKBYTXID);
              querySCCRequest.setArgs(name, txID);
  
              ProposalResponse proposalResponse = sendProposalSerially(querySCCRequest, peers);
  
              return new BlockInfo(Block.parseFrom(proposalResponse.getProposalResponse().getResponse().getPayload()));
          } catch (InvalidProtocolBufferException e) {
  
              throw new ProposalException(e);
          }
  
      }