public String delete(Map<String, Object> params) {
    String sqlString;
    SQL sql = new SQL();
    String tableName = getTable((Class<? extends BaseDomain>) params.get("domain"));
    Long[] ids = (Long[]) Objects.getDefault(params.get("ids"), new Long[] {});
    final StringBuilder idsCondition = new StringBuilder("(-1");

    Iterators.forEach(
        Arrays.asList(ids).iterator(),
        new Iterators.CustomerHandler<Long>() {
          @Override
          public void handle(Long id) {
            idsCondition.append(",").append(id);
          }
        });
    idsCondition.append(")");

    sql.DELETE_FROM(tableName).WHERE("id in " + idsCondition.toString());

    sqlString = sql.toString();
    logger.debug("{} : {}", logger.getName(), sqlString);
    return sqlString;
  }