1In a 4 quart Dutch oven on medium high heat, cook bacon until bacon is crisp. Add canola oil and sauté garlic, shallots, yellow onions, celery, carrots and 1 tablespoon black peppercorns on medium high heat for about 15 minutes, stirring frequently.
2Add 1/4 cup of the pecans, 1/4 cup of the cranberries and the bay leaf after the mixture has caramelized.
3Add the coffee, increase to high heat, bring to a boil and cook for 7-8 minutes or until the liquid has evaporated, stirring frequently. Cover with chicken stock.
4After broth comes to a boil, reduce heat and simmer, uncovered, 2 hours or until the mixture yields 4 1/2 cups. Cover and refrigerate if prepared a day ahead of meal.
5While gravy is simmering, preheat oven to 325 degrees F. Remove all packaging from the ham. Place ham in baking dish or roasting pan (place flat side down). Cover pan with foil or lid. Place in preheated oven for approximately 15 minutes per pound or until ham reaches an internal temperature of 140 degrees F.
6Remove from oven and let the ham sit for about 10 minutes. Slice ham and lay out on a large platter.
7After two hours of simmering the gravy or once the mixture yields 4 ½ cups, increase to medium high heat. If gravy was prepared the day prior, reheat the gravy mixture to medium high heat. Combine 2 tablespoons cornstarch and 1/4 cup water. Add the cornstarch mixture to the gravy mixture, and boil 1 full minute. When stock has thickened to sauce consistency, add basil and thyme and steep for 10 minutes.
8Strain through a fine mesh strainer, pressing down firmly with the back of a spoon or rubber spatula to release as much liquid as possible (discarding the vegetable mixture).
9Whip in butter. Season with kosher salt and 1 tablespoon cracked black pepper. Garnish with remaining 1/4 cup pecans pecans and 1/4 cup cranberries.