I accidentally assaulted my son in a public restroom

I took Charlie to the restroom in Bertucci's last night. 

Charlie is five years-old and has started using urinals when they are positioned low enough for him to reach. He's quite proud of himself.

He still drops his pants to his ankles when he uses one, so the pride is a little unfounded, but I'll eventually fix that. 

Since Charlie has become so self sufficient, my job when taking him to the restroom is to simply stand by and ensure that hands are washed when the job is done.

I was standing by last night when I heard Charlie flush. A second later, he cried out. I looked, and he was pressing his hands to his groin. I instantly understood what had happened. 

He has caught his penis in the zipper of his pants. 

I ran to him, dropped to my knees,  and began trying to undo the button and zipper on his pants. As I reach down, he pushed me away with his shoulder. Elbowed me. Turned his back. Yelled, "Stop it! Stop it! Leave my penis alone!"

Just imagine what might've happened had someone walked into the restroom at that moment.

"Charlie," I said, finally getting a hold of him. I unbuttoned his pants and yanked down the zipper. "Relax. I'm trying to help." 

"Then why are you pulling my pants down?" shoving me away again. "I pinched my finger on the flusher,"

"Oh."

He hadn't been grabbing his groin. He was simply holding his pinched finger close to this body in pain.

"Can I pull my pants up?" he asked. "This is not okay."

I apologized, but he still wasn't very happy with me. "I want to see Mommy," he said as he washed his hand. Then he walked out while I was still washing my hands.. Didn't say a word. 

I really don't blame him.