I wasn't aware of that convention. I'll follow it from now on. However, in this specific case I don't see how RecoveryState is exposed. You can get to it by retrieving shard responses from the top-level RecoveryResponse and then asking for the RecoveryState, but at two levels of nesting can it really be considered to be exposed? Can you explain a bit where you see it as having external access?