you should show here also the sources of
GateActionIntf. It is certainly related why ClassCastException is thrown.
I have updated the sources of
GateActionIntf in my question. Please have a look.
Are you sure that you have not missed PUBLIC keyword in interface ?
public interface GateActionIntf
public Response performThisOperation( Operation operation, final DataModel dataModel );