You don't have to use the value returned by registerListener().
Consider this code:
void performOperation() {
doSomething();
}
doSomething does something and returns true if the operation was successfully done, false otherwise.
performOperation doesn't return a thing, it simply performs the operation.
Another example:
public boolean delete():
Returns:
true if and only if the file or directory is successfully deleted; false otherwise
You don't have to use the value returned by delete method (but it's highly recommended to).
Clarification:
You're probably confused with method signature in this situation.
Methods are declared like:
modifier return-type name(parameters ..)
When your method declared to return something, it must return something! But if you use it within another method that returns nothing (void), then you're not forced to use this value.