Hum ugly. I do remember in the initial implementation pulling my hair to make sure generic privilege methods would remain package private.