protected SelectListParameter<GenomicIntervalTypeEnum> createIntervalTypeParameter() { OptionList<GenomicIntervalTypeEnum> options = new OptionList<GenomicIntervalTypeEnum>(); options.addOption( GenomicIntervalTypeEnum.GENE_NAME.getValue(), GenomicIntervalTypeEnum.GENE_NAME); options.addOption( GenomicIntervalTypeEnum.CHROMOSOME_COORDINATES.getValue(), GenomicIntervalTypeEnum.CHROMOSOME_COORDINATES); ValueSelectedHandler<GenomicIntervalTypeEnum> handler = new ValueSelectedHandler<GenomicIntervalTypeEnum>() { @Override public void valueSelected(GenomicIntervalTypeEnum value) { criterion.setGenomicIntervalType(value); setIntervalParameters(); } }; SelectListParameter<GenomicIntervalTypeEnum> intervalTypeParameter = new SelectListParameter<GenomicIntervalTypeEnum>( getParameters().size(), getRow().getRowIndex(), options, handler, criterion.getGenomicIntervalType()); intervalTypeParameter.setLabel("Genome Interval"); intervalTypeParameter.setUpdateFormOnChange(true); return intervalTypeParameter; }