java note inner classes so hard