He had done it before, hundreds of times, on the playgrounds near his house.
Trailing by a point, pulling up for a 3-pointer as he counted down the final seconds in his head, firing away against an imaginary opponent, missing but claiming an imaginary foul, calmly making three free throws to win an imaginary game.
Friday night, Largo sophomore Ben O'Donnell did it for real.
Before a standing-room-only crowd, against archrival Clearwater, O'Donnell sank three free throws with 0.4 second remaining to give the Packers a stunning 33-31 victory over the Tornadoes in a Class 5A, District 9 meeting.
"Are you kidding me?" said Largo coach Phil Price, whose team suited up just seven players and was without leading scorer Nate Johnson, who twisted an ankle earlier this week.
Solid defense from Tony Russo and strong inside play from Mike Helm and Alex Gerhard made up for Johnson's absence.
Oh, and O'Donnell, too. He scored a game-high 18, including 13 of Largo's 17 second-half points.
O'Donnell was fouled by Darius Hart while shooting a 3-pointer as the buzzer sounded.
"I looked at Ben when he was on the line and gave him a thumbs up. He just kind of waved me off, saying he was okay," Price said. "Did any of those free throws even touch the rim?"
O'Donnell said he was nervous before the game, but not as he hit the winners.
"I was actually pretty relaxed," he said.
He was clutch all night for Largo (9-2). After Hart made a free throw with eight seconds remaining in the first half, O'Donnell took the inbounds pass and weaved through the Clearwater defense to hit a runner just before the buzzer.
In the third quarter, Clearwater's Jabez Mitchem tipped in a basket with five seconds left before O'Donnell drove up the sideline and heaved in a shot from just past halfcourt as the period ended.
The last Pinellas County team to lose this season, the previously unbeaten Tornadoes (9-1) squandered countless opportunities down the stretch. They failed to score in the last 6:55, missing three free throws.
On two of the misses, center Cruz Daniels grabbed the rebound. He was fouled on his second rebounded miss with 16 seconds left but failed to convert from the line.
Though Daniels had four blocks, he missed all 10 of his shots and three free throws.
Clearwater shot 18 percent from the floor (11-for-59), made 1 of 10 3-point shots and was 8-for-18 from the line.
"We came out a little flat," said Trevor Lee (14 points), one of three Tornadoes to score. "They came out and did what they had to do."