// Path: src/main/java/lux/solr/MissingStringLastComparatorSource.java
// @SuppressWarnings("all")
// public class MissingStringLastComparatorSource extends FieldComparatorSource {
//   private final BytesRef missingValueProxy;
// 
//   public MissingStringLastComparatorSource() {
//     this(UnicodeUtil.BIG_TERM);
//   }
// 
//   /** Creates a {@link FieldComparatorSource} that sorts null last in a normal ascending sort.
//    * <tt>missingValueProxy</tt> as the value to return from FieldComparator.value()
//    *
//    * @param missingValueProxy   The value returned when sortValue() is called for a document missing the sort field.
//    * This value is *not* normally used for sorting.
//    */
//   public MissingStringLastComparatorSource(BytesRef missingValueProxy) {
//     this.missingValueProxy=missingValueProxy;
//   }
// 
//   @Override
//   public FieldComparator newComparator(String fieldname, int numHits, int sortPos, boolean reversed) throws IOException {
//     return new TermOrdValComparator_SML(numHits, fieldname, sortPos, reversed, missingValueProxy);
//   }
// 
// }


import lux.exception.LuxException;
import lux.index.FieldRole;
import lux.solr.MissingStringLastComparatorSource;
import net.sf.saxon.om.NodeInfo;
import net.sf.saxon.om.SequenceIterator;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;
package lux;



public abstract class SearchIteratorBase implements SequenceIterator<NodeInfo> {

    protected final Evaluator eval;
    protected final QueryStats stats;
    protected final String [] sortCriteria;
    protected final int start;
    protected NodeInfo current = null;
    protected int position = 0;

// Path: src/main/java/lux/solr/MissingStringLastComparatorSource.java
// @SuppressWarnings("all")
// public class MissingStringLastComparatorSource extends FieldComparatorSource {
//   private final BytesRef missingValueProxy;
// 
//   public MissingStringLastComparatorSource() {
//     this(UnicodeUtil.BIG_TERM);
//   }
// 
//   /** Creates a {@link FieldComparatorSource} that sorts null last in a normal ascending sort.
//    * <tt>missingValueProxy</tt> as the value to return from FieldComparator.value()
//    *
//    * @param missingValueProxy   The value returned when sortValue() is called for a document missing the sort field.
//    * This value is *not* normally used for sorting.
//    */
//   public MissingStringLastComparatorSource(BytesRef missingValueProxy) {
//     this.missingValueProxy=missingValueProxy;
//   }
// 
//   @Override
//   public FieldComparator newComparator(String fieldname, int numHits, int sortPos, boolean reversed) throws IOException {
//     return new TermOrdValComparator_SML(numHits, fieldname, sortPos, reversed, missingValueProxy);
//   }
// 
// }


// Path: src/main/java/lux/SearchIteratorBase.java
import lux.exception.LuxException;
import lux.index.FieldRole;
import lux.solr.MissingStringLastComparatorSource;
import net.sf.saxon.om.NodeInfo;
import net.sf.saxon.om.SequenceIterator;
import org.apache.lucene.search.Sort;
import org.apache.lucene.search.SortField;

package lux;



public abstract class SearchIteratorBase implements SequenceIterator<NodeInfo> {

    protected final Evaluator eval;
    protected final QueryStats stats;
    protected final String [] sortCriteria;
    protected final int start;
    protected NodeInfo current = null;
    protected int position = 0;

    public static final MissingStringLastComparatorSource MISSING_LAST = new MissingStringLastComparatorSource();