You're nesting an anonymous class inside an anonymous class... that looks pretty smelly to me.

Regardless of if it works or not I would consider re-thinking the code structure because it seems...