Reimplemented access control to almost follow JLS.  A few cases left.