var mapper = mapperFactory.createMapperMult(["EstProdCpl"]);
var result = new java.util.ArrayList();

try {

    let param = {
        'itens': [],
        'cdPerfilTamanho': message.get('cdPerfilTamanho'),
        'cdPerfilDemografico': message.get('cdPerfilDemografico')
    };

    let numMarkers = 0;

    for (let i = 0; i < message.get('itens').size(); i++) {
        let item = message.get('itens').get(i);
        if ((numMarkers + 5) > 2000) {

            result.addAll(mapper.selectList('EstProdCpl.getDescricaoDoProdutoPorPerfilEmLote', param));
            param.itens = [];
            numMarkers = 0;
            i--;
        } else {
            param.itens.push(item);
            numMarkers = numMarkers + 5;
        }
    }

    if (param.itens.length > 0)
        result.addAll(mapper.selectList('EstProdCpl.getDescricaoDoProdutoPorPerfilEmLote', param));

    result;

} catch (err) {

    if (err.code)
        throw JSON.stringify(err);
    else
        throw err;
}