class PartitionParameterNode extends PartitionSingleNode {
    /** */
    private final Class<?> colType;

    /** */
    private final RexDynamicParam param;

    /** */
    public PartitionParameterNode(int cacheId, RexDynamicParam param, Class<?> colType) {
        super(cacheId);
        this.param = param;
        this.colType = colType;
    }

    /** {@inheritDoc} */
    @Override Integer applySingle(PartitionPruningContext ctx) {<FILL_FUNCTION_BODY>}
}

        int idx = param.getIndex();

        Object val = TypeUtils.toInternal(ctx.dataContext(), ctx.resolveParameter(idx), colType);

        if (val == null)
            return null;

        AffinityService affSvc = ctx.affinityService();

        return affSvc.affinity(cacheId()).applyAsInt(val);
    
<methods>public Collection<java.lang.Integer> apply(org.apache.ignite.internal.processors.query.calcite.exec.partition.PartitionPruningContext) ,public int cacheId() <variables>private final non-sealed int cacheId