In a large stock pot, combine first four ingredients and one bay leaf. If there isn't much meat left on the bone, add a few more pieces from the leftovers (enough to end up with about 2 cups of diced ham pieces). Bring to a boil; reduce heat and simmer 60-90 minutes or until beans are tender (see note below).
While the ham and beans cook, the apple will disintegrate, leaving only the peel. When beans are tender, remove from heat and discard apple peels.
Remove ham pieces and bone from soup. When cool enough to handle, pull ham off of bone. Shred or cut ham chunks into bite-sized pieces and return, along with the bone, to the soup.
In a second pan, combine second bay leaf, carrots, celery, onion, bay leaf, salt, pepper and just enough water to cover the vegetables. Bring to a boil; simmer 15-20 minutes or until carrots are tender. Add vegetables and the broth to the stock pot.
Allow to cool and refrigerate overnight. Remove bay leaves before serving.