Source:
<code><START> public MainDesign createRandomizedCompleteBlockDesign( <END> final Integer nBlock, final String blockFactor, final String plotFactor, final Integer initialPlotNumber, final String entryNoVarName, final List<String> treatmentFactors, final List<String> levels, final String outputfile) { final String timeLimit = AppConstants.EXP_DESIGN_TIME_LIMIT.getString(); final List<ExpDesignParameter> paramList = new ArrayList<>(); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.SEED_PARAM, "", null)); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.NBLOCKS_PARAM, String.valueOf(nBlock), null)); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.BLOCKFACTOR_PARAM, blockFactor, null)); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.PLOTFACTOR_PARAM, plotFactor, null)); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.INITIAL_PLOT_NUMBER_PARAM, this.getPlotNumberStringValueOrDefault(initialPlotNumber), null)); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.INITIAL_TREATMENT_NUMBER_PARAM, null, this.getInitialTreatNumList(treatmentFactors, STARTING_ENTRY_NUMBER, entryNoVarName))); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.TREATMENTFACTORS_PARAM, null, this.convertToListItemList(treatmentFactors))); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.LEVELS_PARAM, null, this.convertToListItemList(levels))); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.TIMELIMIT_PARAM, timeLimit, null)); paramList.add(this.createExpDesignParameter(ExperimentDesignGenerator.OUTPUTFILE_PARAM, outputfile, null)); final ExpDesign design = new ExpDesign(ExperimentDesignGenerator.RANDOMIZED_COMPLETE_BLOCK_DESIGN, paramList); return new MainDesign(design); }</code><technical_language>Kind of weird this is implemented. In class do createXXXDesign rule advantage of polymorphism in another areas of experimental design generation. improve</technical_language>

Target:
public MainDesign createRandomizedCompleteBlockDesign( final Integer nBlock, final String blockFactor, final String plotFactor, final Integer initialPlotNumber, final String entryNoVarName, final List<String> treatmentFactors, final List<String> levels, final String outputfile) { final String timeLimit = AppConstants.EXP_DESIGN_TIME_LIMIT.getString(); final List<ExperimentDesignParameter> paramList = new ArrayList<>(); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.SEED_PARAM, "", null)); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.NBLOCKS_PARAM, String.valueOf(nBlock), null)); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.BLOCKFACTOR_PARAM, blockFactor, null)); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.PLOTFACTOR_PARAM, plotFactor, null)); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.INITIAL_PLOT_NUMBER_PARAM, this.getPlotNumberStringValueOrDefault(initialPlotNumber), null)); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.INITIAL_TREATMENT_NUMBER_PARAM, null, this.getInitialTreatNumList(treatmentFactors, STARTING_ENTRY_NUMBER, entryNoVarName))); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.TREATMENTFACTORS_PARAM, null, this.convertToListItemList(treatmentFactors))); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.LEVELS_PARAM, null, this.convertToListItemList(levels))); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.TIMELIMIT_PARAM, timeLimit, null)); paramList.add(this.createExperimentDesignParameter(ExperimentDesignGenerator.OUTPUTFILE_PARAM, outputfile, null)); final ExperimentDesign design = new ExperimentDesign(ExperimentDesignGenerator.RANDOMIZED_COMPLETE_BLOCK_DESIGN, paramList); return new MainDesign(design); }