code: private void preparePrint(final AbstractPrint _print) throws EFapsException {
          for (final Select select : _print.getSelection().getAllSelects()) {
              for (final AbstractElement<?> element : select.getElements()) {
                  if (element instanceof AbstractDataElement) {
                      ((AbstractDataElement<?>) element).append2SQLSelect(sqlSelect);
                  }
              }
          }
          if (sqlSelect.getColumns().size() > 0) {
              for (final Select select : _print.getSelection().getAllSelects()) {
                  for (final AbstractElement<?> element : select.getElements()) {
                      if (element instanceof AbstractDataElement) {
                          ((AbstractDataElement<?>) element).append2SQLWhere(sqlSelect.getWhere());
                      }
                  }
              }
              if (_print instanceof ObjectPrint) {
                  addWhere4ObjectPrint((ObjectPrint) _print);
              } else if (_print instanceof ListPrint) {
                  addWhere4ListPrint((ListPrint) _print);
              } else {
                  addTypeCriteria((QueryPrint) _print);
                  addWhere4QueryPrint((QueryPrint) _print);
              }
              addCompanyCriteria(_print);
          }
      }
docs: Prepare print.
  
  @param _print the print
  @throws EFapsException the e faps exception