don't expose members of enclosing class of an ancestor where the encloser does not also enclose the sublcass