if ( sink instanceof AlphaNode ) {
final AlphaNode alphaNode = (AlphaNode) sink;
final AlphaNodeFieldConstraint fieldConstraint = alphaNode.getConstraint();
if ( fieldConstraint instanceof LiteralConstraint ) {
final LiteralConstraint literalConstraint = (LiteralConstraint) fieldConstraint;
final Evaluator evaluator = literalConstraint.getEvaluator();
if ( evaluator.getOperator() == Operator.EQUAL ) {
final int index = literalConstraint.getFieldExtractor().getIndex();
final FieldIndex fieldIndex = registerFieldIndex( index,
literalConstraint.getFieldExtractor() );
if ( fieldIndex.getCount() >= this.alphaNodeHashingThreshold ) {
if ( !fieldIndex.isHashed() ) {
hashSinks( fieldIndex );
}
final FieldValue value = literalConstraint.getField();
// no need to check, we know the sink does not exist
this.hashedSinkMap.put( new HashKey( index,
value ),
sink,
false );