When the victim went into the toilets, Hasna followed a minute later.
He exposed himself and grabbed the boy by the wrist and tried to pull him into a cubicle, the Daily Telegraph reported.
He told Hasna to stop, which Hasna said he interpreted as "role playing".
Then Hasna groped and boy and forced his head towards his penis.
"Go on your knees for me, I know you want my penis," he told the boy.
The assault only ended when other men came into the toilets and the boy escaped.
Earlier in the trial, Hasna claimed the boy gave him a "mysterious, sexual look" and that he mistook him for a young man.
"I got it all wrong. I misread it," he said.
"By the look of it, I thought he was an adult."
In sentencing, Tupman said she agreed with Hasna's claim that he had "misread the situation".
"He believed the victim gave him a sexual look, which he read as the victim being interested in having sexual contact with him," she said.
"I do not accept the victim did any such thing but I do accept the offender thought this was the case."
She added: "I accept he did not know the victim was as young as 12 almost 13 and under 16.
"The victim was shown in CCTV footage to be a relatively tall young man who at least on CCTV footage did look older than 12, almost 13.
"He was clearly a young man, at least 30 years younger than the offender."
The judge said Hasna was "not a paedophile" and that his jail sentence was a "an undesirable outcome for everyone" but slammed his "self-loathing".
"He doesn't want to admit what he is," she said.
"He had to find an excuse for what he did otherwise he had to admit what he is."