maxLo, hiloOptimizer, returnClass and keySize should be protected to allow access in custom implementations.