4 sole fillets, skinned and cut in halves
2 medium onions, cut into eights
4 small carrots, peeled and sliced
1 celery rib, sliced
1 pound ling cod or other white-fleshed fish fillet, cut into 1-inch cubes
½ cup cold water
freshly ground black pepper
1 pound salmon fillet, cut into ½-inch chunks
Soak the sole fillets in cold water for 15 minutes. Drain and pat dry. Place them between sheets of wax paper and flatten lightly with a mallet or the side of a knife. With a sharp knife, make several slashes on the skin side of each fillet.
Lightly oil a 2-quart glass baking dish and line it with wax paper. Oil the paper. Line the entire baking dish with the sole fillets, placing them skin side down and slightly overlapping. Cover with plastic wrap and chill in the refrigerator for 30 minutes.
Place the onions, carrots, and celery in a processor or grinder. Process or grind until finely minced. Add the cod and halibut and process until well blended. Add the eggs, 1 at a time, alternating with the water. Blend well. Season to taste with salt and pepper.
Transfer the ground mixture to a large bowl. Gently fold in the salmon chunks. Spoon the fish mixture over the sole fillets in the prepared baking dish. Cover with oiled wax paper and a double layer of foil.
Preheat the oven to 350°F. Place the terrine pan in a second large baking pan (that is bigger than the terrine pan) and pour in hot water to come halfway up the sides (this is called making a hot water bath). Bake for 50 minutes, our until a knife inserted in the center comes out clean. Cool on a rack 10 minutes.