Define the generating function $$f_n(\theta) = E (\theta^{Z_n}) = \sum_0^{\infty} \theta^k P(Z_n=k)$$ and suppose you wanted to compute the conditional expectation $$E (\theta^{Z_n} | Z_n \ne 0)$$
Then Williams 'Probability with Martingales' p11 says : $$E (\theta^{Z_n} | Z_n \ne 0) = \frac{f_n(\theta) -f_n(0) }{1 - f_n(0)}$$
but i find that since $f_n(\theta) = E (\theta^{Z_n}) = \sum_0^{\infty} \theta^k P(Z_n=k) = P(Z_n=0) + \sum_1^{\infty} \theta^k P(Z_n=k) $ then why not simply this? $$ E (\theta^{Z_n}|Z_n \ne 0) = \sum_1^{\infty} \theta^k P(Z_n=k) = f_n(\theta) - f_n(0) $$