This healthy Chinese dish is best made with homemade fish stock.
Thinly slice half the ginger; cut remaining half into 1 1/2-inch-long matchsticks, and reserve. Place sliced ginger, stock, leek, star anise, sherry, and soy sauce in a small saucepan. Bring to a boil. Reduce heat, and simmer 15 minutes. Strain and reserve stock.
In a large, straight-sided saucepan, heat oil over medium-low heat. Add shallots and garlic; saute until translucent, about 5 minutes. Add mushrooms; season with pepper. Raise heat to medium high; cook until browned, about 7 minutes. Add water chestnuts, and cook 2 minutes. Transfer mixture to a bowl.
Place cabbage and sliced scallions in saucepan. Season fillets with salt and pepper. Roll up fillets; place on cabbage. Add reserved fish stock and cooked vegetables. Bring to a boil. Cover. Reduce heat; simmer until fish has cooked through, about 15 minutes. Garnish with ginger matchsticks and scallions. Serve.