Bring water to a boil with the salt, bay leaf, garlic clove and parsley stems in a 4 quart saucepan. Add the potatoes and boil until just tender - about 8 to 10 minutes. Remove the potatoes with a slotted spoon.
While the potatoes are boiling, heat the olive oil in a sauté or frying pan over a medium low fire and add the onions. Cook the onions, while stirring occasionally, until they’re golden. (Cook the potatoes and cod while the onions are caramelizing.) Add the chopped garlic in the last minutes of cooking the onions. Cook the garlic until just fragrant. The onions should be done in about 35 to 45 minutes. Once the onions are cooked, remove them from the heat and set aside for the casserole assembly.
Place water in a 2 quart saucepan and add the salt cod, the same bay leaf, the white peppercorns and a garlic clove. Place over a medium fire and cook for four to five minutes at just under a boil until the cod is flaky.
Remove the cod from the water and separate the flesh from the bones and skin. Discard the bones and skin. Set the flaked salt cod aside.
Build the casserole in an ovenproof round or rectangular baking dish. Layer half of the onions first, followed by the potatoes, salt cod, and then the remaining onions. Add a small dash of salt and pepper to taste.
Place in the oven and cook until lightly caramelized on top - about 8 to 10 minutes.
Remove the baking dish from the oven. Garnish with black olives, the hard-boiled eggs and chopped parsley.