src/main/java/com/github/fge/grappa/parsers/BaseActions.java
public boolean poke(final int down, final V value)
    {
        check();
        context.getValueStack().poke(down, value);
        return true;
    }
public boolean poke(final int down, final V value)
    {
        check();
        context.getValueStack().poke(down, value);
        return true;
    }
Replaces the element the given number of elements below the current top
of the value stack

@param down the number of elements to skip before replacing the value (0
being equivalent to {@code poke(value)})
@param value the value to replace with
@return true

@throws IllegalArgumentException the stack does not contain enough
elements to perform this operation