remove protected visibility from visit methods; make accept warning optional; remove unused visit methods from PropertyPainter