throw new IllegalArgumentException("PoolConfiguration is null");
switch (strategy)
{
case POOL_BY_CRI:
return new PoolByCri(mcf, pc, noTxSeparatePools);
case POOL_BY_SUBJECT:
return new PoolBySubject(mcf, pc, noTxSeparatePools);
case POOL_BY_SUBJECT_AND_CRI: