We are already aware that sharing material references is a means of reducing Render State changes, so this requirement is fairly obvious. In addition, sometimes, we statically batch meshes that require multiple materials. In this case, all meshes using a different material will be grouped together in their own static batch for each unique material being used.
The downside to this requirement is that, at best, static batching can only render all of the static meshes using a number of draw calls equal to the number of materials they need.