// non positioned parameters should always be given last (CB TODO - document)
protected Serializable[] getParamValues(Serializable[] rawParamValues) throws SQLException
    {
        int nonPositionedParametersCount = 0;
        for (Serializable rawParamValue : rawParamValues)
        {
            if (rawParamValue != null && rawParamValue instanceof NonPositionedParameter) ++nonPositionedParametersCount;
        }
        Serializable[] paramValues = new Serializable[parameterNames.size() + nonPositionedParametersCount];
        Entity entity = (Entity)Optional.ofNullable(getParent()).filter(x -> x instanceof Entity).orElse(null);
        if (entity == null)
        {
            for (int i = 0; i < paramValues.length - nonPositionedParametersCount; ++i)
            {
                paramValues[i] = rawParamValues[paramMapping[i]];
            }
        }
        else
        {
            for (int i = 0; i < paramValues.length - nonPositionedParametersCount; ++i)
            {
                String paramName = parameterNames.get(i);
                paramValues[i] = entity.filterValue(paramName, rawParamValues[paramMapping[i]]);
            }
        }
        // non positioned parameters should always be given last (CB TODO - document)
        for (int i = 0; i < nonPositionedParametersCount; ++i)
        {
            paramValues[paramValues.length - nonPositionedParametersCount + i] = rawParamValues[rawParamValues.length - nonPositionedParametersCount + i];
        }
        return paramValues;
    }
}
}
// non positioned parameters should always be given last (CB TODO - document)
for (int i = 0; i < nonPositionedParametersCount; ++i)
{
}
}
else
{
for (int i = 0; i < paramValues.length - nonPositionedParametersCount; ++i)
{
String paramName = parameterNames.get(i);
paramValues[i] = entity.filterValue(paramName, rawParamValues[paramMapping[i]]);
}
}
// non positioned parameters should always be given last (CB TODO - document)
for (int i = 0; i < nonPositionedParametersCount; ++i)
{
paramValues[paramValues.length - nonPositionedParametersCount + i] = rawParamValues[rawParamValues.length - nonPositionedParametersCount + i];
}
return paramValues;
}
{
if (rawParamValue != null && rawParamValue instanceof NonPositionedParameter) ++nonPositionedParametersCount;
}
Serializable[] paramValues = new Serializable[parameterNames.size() + nonPositionedParametersCount];
Entity entity = (Entity)Optional.ofNullable(getParent()).filter(x -> x instanceof Entity).orElse(null);
if (entity == null)
{
for (int i = 0; i < paramValues.length - nonPositionedParametersCount; ++i)
{
paramValues[i] = rawParamValues[paramMapping[i]];
}
}
else
{
for (int i = 0; i < paramValues.length - nonPositionedParametersCount; ++i)
{
String paramName = parameterNames.get(i);
paramValues[i] = entity.filterValue(paramName, rawParamValues[paramMapping[i]]);
}
}
// non positioned parameters should always be given last (CB TODO - document)
for (int i = 0; i < nonPositionedParametersCount; ++i)
{
paramValues[paramValues.length - nonPositionedParametersCount + i] = rawParamValues[rawParamValues.length - nonPositionedParametersCount + i];
}
return paramValues;
}