2. Place the fish in a food processor, filling the processor bowl not more than 1/4 of the way. Add some grated potato and minced onion. Finely chop the fish by running the processor in short bursts. Do not over-grind: the texture should be coarse, like ground beef. Transfer the ground fish to a mixing bowl. Continue grinding the fish, potato and onion in this fashion until all is used up.
3. Add the oil, sugar, salt, pepper, egg and egg white to the fish mixture. Mix well with your fingers or a wooden spoon. Boil a spoonful of the mixture and taste for seasoning: the mixture should be highly seasoned.
4. Line the bottom of a large pot with the fish bones, skins and/or heads. Arrange half of the carrots, celery and onions on top. Wet your hands with cold water and form oval balls of fish mixture: each should be about 3 1/2 inches long and 2 inches wide. Gently lay the fish balls on top of the sliced vegetables. Arrange the remaining sliced carrots, celery and onions on top. Add water (to cover by 4 inches),salt and pepper and gradually bring to a boil.
4. Reduce the heat to a gentle simmer. Cook until the fish is firm and cooked through, about 1 hour. Remove the pan from the heat and let cool slightly. Using a slotted spoon, transfer the fish balls to a platter and let cool to room temperature. Arrange some of the vegetables over the fish and strain a couple of cups of cooking liquid on top. Discard the bones, skin and heads. Refrigerate the gefilte fish until cold. The cooking liquid will jell.
5. To serve, line 8 plates with a lettuce leaf. Place the gefilte fish on top with a few of the vegetables and a spoonful of the jelled cooking liquid. Serve the horseradish sauce on the side.