code: private List checkTransactionParticipationAndWaitForOtherTransactions(List list, MithraTransaction tx)
      {
          if (list == null) return null;
          List result = list;
          if (this.getTxParticipationMode(tx).mustParticipateInTxOnRead())
          {
              for(int i=0;i<list.size();i++)
              {
                  MithraTransactionalObject mto = (MithraTransactionalObject) list.get(i);
                  if (!mto.zIsParticipatingInTransaction(tx))
                  {
                      result = null;
                      mto.zWaitForExclusiveWriteTx(tx);
                  }
              }
          }
          return result;
      }
docs: /* returns null if the members of the list are not all participating in the transaction