switch on putAll(map) contents instead of trying to use reflection, fixes #10