// ===================================================================================
 //                                                                        Purpose Type
 //                                                                        ============
 @Override
 protected void xprepareSyncQyCall(ConditionBean mainCB) {
   final PurchaseCB cb;
   if (mainCB != null) {
     cb = (PurchaseCB) mainCB;
   } else {
     cb = new PurchaseCB();
   }
   specify().xsetSyncQyCall(xcreateSpQyCall(() -> true, () -> cb.query()));
 }
 /**
  * Set up 'union all' for base-point table. <br>
  * You don't need to call SetupSelect in union-query, because it inherits calls before. (Don't
  * call SetupSelect after here)
  *
  * <pre>
  * cb.query().<span style="color: #CC4747">unionAll</span>(<span style="color: #553000">unionCB</span> <span style="color: #90226C; font-weight: bold"><span style="font-size: 120%">-</span>&gt;</span> {
  *     <span style="color: #553000">unionCB</span>.query().set...
  * });
  * </pre>
  *
  * @param unionCBLambda The callback for query of 'union all'. (NotNull)
  */
 public void unionAll(UnionQuery<PurchaseCB> unionCBLambda) {
   final PurchaseCB cb = new PurchaseCB();
   cb.xsetupForUnion(this);
   xsyncUQ(cb);
   try {
     lock();
     unionCBLambda.query(cb);
   } finally {
     unlock();
   }
   xsaveUCB(cb);
   final PurchaseCQ cq = cb.query();
   query().xsetUnionAllQuery(cq);
 }