Step 1In a large casserole or Dutch oven, melt the butter and cook the shallots and apples over medium-low heat until soft and fragrant, about 5 minutes.
Step 2Stir in the cabbage, vinegar, three-fourths cup wine, the honey and 1 teaspoon salt. Tie the thyme and juniper berries in a cheesecloth bag and stir in with the rest of the ingredients. Cover the pot and bring to a slow simmer.
Step 3Simmer the cabbage until tender, about 1 hour, stirring occasionally to make sure that the cabbage doesn't stick to the bottom of the pan. Stir the remaining one-fourth cup wine into the pot halfway through cooking, and add additional water throughout the cooking process if the liquid evaporates and the cabbage becomes dry.
Step 4When the cabbage is almost done, toast the caraway seeds in a small saute pan over medium-high heat until fragrant, 2 to 3 minutes. Shake the pan frequently so the seeds do not burn. Remove from heat.
Step 5When the cabbage is tender, remove the pot from heat and season to taste with salt and pepper. Stir in the toasted caraway seeds, then cool, cover and refrigerate until needed. Reheat, adjust the seasoning if needed and serve sprinkled with toasted hazelnuts.