sorry guys, but the BridgeDataInput does not serliase answers correctly, the problem is that the class that you pass from BridgeDataProvider.uploadTaskResult() line 682 is always SurveyAnswer.class and not any of its subclasses.
The whole thing needs to be refactored.