A MultiCallback can receive a null pointer on failure, rather than a list of org.apache.zookeeper.OpResult.ErrorResult as documented. This is evident from the implementation.
This causes NullPointerExceptions in Kafka 2.1.x (see KAFKA-7898). Kafka 2.0.x does not use the async multi interface, and Kafka 2.2.x handles the null pointer case.
However, this is enough of a hazard that it should be documented. I have a patch for that which I will try to attach in a moment (JIRA won't allow me to attach it now for some reason).