String stringParam = makeCqlString(type.toString(param));
It crashes with ClassCastException for all parameters that are not Strings. It is because, when the method applyDualBindings is called from makeUpdate it ALWAYS get one and the same "type" as parameter. In fact it is a comparator of columnfamily itself.
In my case it is UTF8Type. And UTF8Type.toString() method expects only Strings.
I think it must be column-dependent.