For the streusel: Combine the coconut, flour, oats, baking powder, brown sugar and salt in a medium bowl. Add the butter and knead it into the flour mixture with your fingers until it is evenly moistened. Add the pecans and toss to combine. Set aside.
For the cake: Preheat the oven to 350 degrees F. Butter an 8-inch square baking pan. Line it with parchment paper with a 2-inch overhang on two sides.
In a medium bowl, whisk together the flour, baking powder, salt and baking soda. In a small bowl, stir together the banana and sour cream. In a large bowl, beat the butter and granulated sugar with an electric mixer on medium speed until fluffy, about 3 minutes. Add the eggs one at a time, beating after each addition. Beat in the vanilla.
Stir in half of the flour mixture, then the banana mixture and then the remaining flour mixture. Fold in the chocolate and coconut. Transfer the mixture to the prepared pan. Top with the streusel mixture. Bake the cake until a toothpick inserted into the center comes out with moist crumbs attached, 40 to 45 minutes. Transfer to a rack to cool completely. Lift the cake out of the pan using the parchment paper and cut into squares to serve.
Recipe courtesy of Samantha Seneviratne