public ParameterizedFileUtil getUtil(final SupportedIlluminaFormat format) {
ParameterizedFileUtil parameterizedFileUtil = utils.get(format);
if (parameterizedFileUtil == null) {
switch (format) {
case Bcl:
final ParameterizedFileUtil bclFileUtil = new PerTilePerCycleFileUtil(".bcl", basecallLaneDir, new BclFileFaker(), lane);
final ParameterizedFileUtil gzBclFileUtil = new PerTilePerCycleFileUtil(".bcl.gz", basecallLaneDir, new BclFileFaker(), lane);
if (bclFileUtil.filesAvailable() && !gzBclFileUtil.filesAvailable()) {
parameterizedFileUtil = bclFileUtil;
} else if (!bclFileUtil.filesAvailable() && gzBclFileUtil.filesAvailable()) {
parameterizedFileUtil = gzBclFileUtil;
} else if (!bclFileUtil.filesAvailable() && !gzBclFileUtil.filesAvailable()) {