Return value of effect.apply()

When exactly should the
I would say only in a situation where something happened what couldn't happen normally if no bug is involved.
Example for false:
1) game.getPlayer(ability.getControllerId) gives back null;
2) MageObject sourceObject = game.getObject(source.getSourceId()) gives back null;
Examples for true:
3) All works as intended (that's clear).
2) Counterspell tries to counter a spell but was replaced.
3) Add a counter to source but source is bounced back to hand before the effect resolves.
But that's only my opinion.
Any other opinions or ideas how to handle this best?
method of the effect give back false?public boolean apply(Game game, Ability source)
I would say only in a situation where something happened what couldn't happen normally if no bug is involved.
Example for false:
1) game.getPlayer(ability.getControllerId) gives back null;
2) MageObject sourceObject = game.getObject(source.getSourceId()) gives back null;
Examples for true:
3) All works as intended (that's clear).
2) Counterspell tries to counter a spell but was replaced.
3) Add a counter to source but source is bounced back to hand before the effect resolves.
But that's only my opinion.
Any other opinions or ideas how to handle this best?