SI-6773 Add back inner classes removed by 2.10

DO NOT MERGE INTO 2.11

The back ported fix of SI-6150 1f0e4880ad7ad816fd82c04f6814c5b165f86981
broke binary compatibility. This commit adds back in the inner classes
removed by that commit.

DO NOT MERGE INTO 2.11