class PartitionSingleNode implements PartitionNode {
    /** */
    private final int cacheId;

    /** */
    protected PartitionSingleNode(int cacheId) {
        this.cacheId = cacheId;
    }

    /** {@inheritDoc} */
    @Override public Collection<Integer> apply(PartitionPruningContext ctx) {<FILL_FUNCTION_BODY>}

    /** */
    abstract Integer applySingle(PartitionPruningContext ctx);

    /** {@inheritDoc} */
    @Override public int cacheId() {
        return cacheId;
    }
}

        Integer part = applySingle(ctx);

        return part == null ? ImmutableList.of() : ImmutableList.of(part);
    
<no_super_class>