protected boolean hasLastaFluteRequest() {
   for (DfFreeGenRequest request : _freeGenRequestList) {
     final Object la = request.getTableMap().get("isLastaFlute");
     if (la != null && (boolean) la) {
       return true;
     }
   }
   return false;
 }
 protected boolean hasESFluteRequest() {
   for (DfFreeGenRequest request : _freeGenRequestList) {
     final Object es = request.getTableMap().get("isESFlute");
     if (es != null && (boolean) es) {
       return true;
     }
   }
   return false;
 }
 protected void removeLastaFluteDoneRequest() {
   final List<DfFreeGenRequest> doneList = new ArrayList<DfFreeGenRequest>();
   for (DfFreeGenRequest request : _freeGenRequestList) {
     final Object la = request.getTableMap().get("isLastaFlute");
     if (la != null && (boolean) la) {
       doneList.add(request);
     }
   }
   _log.info("...Removing lastaflute requests: " + doneList.size());
   for (DfFreeGenRequest request : doneList) {
     _freeGenRequestList.remove(request);
   }
 }
 // ===================================================================================
 //                                                                  Prepare Generation
 //                                                                  ==================
 @Override
 public Context initControlContext() throws Exception {
   _log.info("");
   _log.info("...Preparing generation of free generate");
   final StringBuilder sb = new StringBuilder();
   for (DfFreeGenRequest request : _freeGenRequestList) {
     sb.append(ln()).append("[").append(request.getRequestName()).append("]");
     sb.append(ln()).append(" resource : ").append(request.getResource());
     sb.append(ln()).append(" output   : ").append(request.getOutput());
     final String tableMapExp = Srl.cut(request.getTableMap().toString(), 3000, "...");
     sb.append(ln()).append(" tableMap : ").append(tableMapExp); // possible too big
   }
   _log.info(sb.toString());
   return createVelocityContext();
 }