Place the ham hocks in cold water and bring to a boil. After five minutes remove from the water. You're doing this to pull out a little of the saltiness from the hock, but you can save the soaking water for another use (a soup or as a base for a rich stock.)
Pick through your beans and discard any broken pieces. Soak overnight, or for at least four hours. Drain the beans, discard soaking water and rinse them in plenty of cold water. Return the beans to the cooking pot and add fresh water just to cover. Bring to a quick boil, allow to boil for a few minutes, and then remove from heat. Drain and discard water, and rinse beans again in cold water.
Melt a tablespoon of butter or oil to the booking pot. Add diced carrot, onion and celery to the butter to soften. Cook for about 10 minutes, then add back in beans and stir to coat.
Pour in water to cover level of the beans by about an inch and a half (appx 8 cups.) Bring to a boil, and then reduce the heat to a simmer. Skim a few times, removing any of the fluff that accumulates on top. Keep the temperature just below boiling. Add in thyme and bay leaf.
Slice a few cuts into the skin of the ham hock and add it into the simmering pot. Cover partially, and cook for a few hours until beans are soft but not disintegrated.
Remove the ham hocks from the pot and take off the skin. Remove the meat from the bones and return it to the pot of beans. Best made a day or two ahead, and then reheated with a pinch of salt and squeeze of honey. Serve warm, reheats well.