introduce generics
Merge branch 'mule-3.x' of github.com:mulesoft/mule into mule-3.x