public <S extends MessageSchema<S>> void ensureSize(Class<S> clazz, int queueLength, int maxMessageSize) {
int idx = findIndex(clazz);
if (idx>=0) {
PipeConfig<S> oldConfig = (PipeConfig<S>)configs[idx];
int oldQueueLen = oldConfig.minimumFragmentsOnPipe();
int oldMaxVarLenSize = oldConfig.maxVarLenSize();
if (queueLength>oldQueueLen || maxMessageSize>oldMaxVarLenSize) {
addConfig(Math.max(oldQueueLen,queueLength), Math.max(oldMaxVarLenSize, maxMessageSize), clazz);
}
} else {
addConfig(Math.max(queueLength,defaultMinimumFragmentsOnPipe),Math.max(maxMessageSize, defaultMaximumLengthOfVariableLengthFields),clazz);
}
}