public Pair<Update.Where, Object[]> generateCollectionAndMapUpdateOperation(PersistentStateHolder context, DirtyCheckChangeSet changeSet) {
log.trace("Generate collection/map update operation for dirty change set {}", changeSet);
final Object entity = context.getEntity();
final EntityMeta meta = context.getEntityMeta();
final EntityMetaConfig metaConfig = meta.config();
final Optional<Integer> ttlO = context.getTtl();
final Optional<Long> timestampO = context.getTimestamp();
final List<CASCondition> CASConditions = context.getCasConditions();
final Update.Conditions conditions = update(metaConfig.getKeyspaceName(), metaConfig.getTableName()).onlyIf();
List<Object> casEncodedValues = addAndEncodeCasConditions(meta, CASConditions, conditions);
Object[] boundValues = new Object[] { };
if (ttlO.isPresent()) {
conditions.using(ttl(ttlO.get()));