I just watched The Empty House for the 5th time and I have a theory.
(If anybody knows something about this pls enlighten me!!!)
So we see at the end of the episode that Watson wears this hat that was previously on the table on top of what looks like wrapping paper. So he might have got it from Holmes. Well, they had been talking about General Gordon (whose picture hangs in the room - this fact is also mentioned in the books) when Holmes reminisced about the places he visited. He mentioned Khartoum and that he had seen the palace where Gordon was murdered. We can see that Watson is really intriged and he cares about this topic, he - a military man - possibly thinks very highly of the general. I'm almost certain that it was him who put up the picture. Soooo to wrap things up: I think that Holmes knew all that and gave Watson the hat because it's almost like Gordon's in the picture. I can just imagine he saw it and instantly thought of Watson and how he would love it.
It could be that I'm just making things up but it makes me so happy to interpret it this way...














