Buggy code:
Control createdWidget = null ; boolean updateWidgetLayout = true ; if ( param instanceof ListParameter ) { ListParameter p = ( ( ListParameter ) ( param ) ) ; Combo combo = new Combo ( form . getBody ( ) , SWT . READ_ONLY ) ; combo . setItems ( p . getItemsAsArray ( ) ) ; combo . select ( ( ( Integer ) ( value ) ) ) ; combo . setEnabled ( true ) ; createdWidget = combo ; toolkit . adapt ( combo ) ; combo . addSelectionListener ( this ) ; } else if ( param instanceof IntParameter ) { IntParameter p = ( ( IntParameter ) ( param ) ) ; Spinner sp = new Spinner ( form . getBody ( ) , SWT . NONE ) ; Integer minValue = p . getMinValue ( ) ; if ( minValue == null ) minValue = Integer . MIN_VALUE ; sp . setMinimum ( minValue ) ; Integer maxValue = p . getMaxValue ( ) ; if ( maxValue == null ) maxValue = Integer . MAX_VALUE ; sp . setMaximum ( maxValue ) ; if ( ( p . getStep ( ) ) != null ) sp . setIncrement ( p . getStep ( ) ) ; if ( value == null ) sp . setSelection ( p . getDefaultValue ( ) ) ; else sp . setSelection ( ( ( Integer ) ( value ) ) ) ; createdWidget = sp ; toolkit . adapt ( sp , true , true ) ; sp . addSelectionListener ( this ) ; } else if ( param instanceof DoubleParameter ) { DoubleParameter p = ( ( DoubleParameter ) ( param ) ) ; Spinner sp = new Spinner ( form . getBody ( ) , SWT . NONE ) ; sp . setDigits ( ( ( p . getPrecision ( ) ) - 1 ) ) ; Double minValue = p . getMinValue ( ) ; if ( minValue == null ) <START_BUG> minValue = Double . MIN_VALUE ; <END_BUG> sp . setMinimum ( ( ( int ) ( Math . floor ( ( minValue * ( Math . pow ( 10 , sp . getDigits ( ) ) ) ) ) ) ) ) ; Double maxValue = p . getMaxValue ( ) ; if ( maxValue == null ) maxValue = Double . MAX_VALUE ; sp . setMaximum ( ( ( int ) ( Math . ceil ( ( maxValue * ( Math . pow ( 10 , sp . getDigits ( ) ) ) ) ) ) ) ) ; if ( ( p . getStep ( ) ) != null ) sp . setIncrement ( ( ( int ) ( Math . round ( ( ( p . getStep ( ) ) * ( Math . pow ( 10 , sp . getDigits ( ) ) ) ) ) ) ) ) ; else sp . setIncrement ( ( ( int ) ( Math . pow ( 10 , ( ( sp . getDigits ( ) ) - 1 ) ) ) ) ) ; sp . setSelection ( ( ( int ) ( Math . round ( ( ( ( Double ) ( value ) ) * ( Math . pow ( 10 , sp . getDigits ( ) ) ) ) ) ) ) ) ; createdWidget = sp ; toolkit . adapt ( sp , true , true ) ; sp . addSelectionListener ( this ) ; } else if ( param instanceof TextParameter ) { updateWidgetLayout = false ; TextParameter p = ( ( TextParameter ) ( param ) ) ; Text txt = toolkit . createText ( form . getBody ( ) , value . toString ( ) , ( ( ( SWT . MULTI ) | ( SWT . V_SCROLL ) ) | ( SWT . BORDER ) ) ) ; GridData gd = new GridData ( SWT . FILL , SWT . FILL , true , true ) ; gd . minimumHeight = 40 ; txt . setLayoutData ( gd ) ; createdWidget = txt ; txt . addModifyListener ( this ) ; } else if ( param instanceof StringBasedParameter < ? > ) { StringBasedParameter p = ( ( StringBasedParameter ) ( param ) ) ; Text txt = toolkit . createText ( form . getBody ( ) , value . toString ( ) ) ; txt . setText ( value . toString ( ) ) ; createdWidget = txt ; txt . addModifyListener ( this ) ; } else if ( param instanceof BooleanParameter ) { BooleanParameter b = ( ( BooleanParameter ) ( param ) ) ; Button check = toolkit . createButton ( form . getBody ( ) , "" , CHECK ) ; Boolean valueB = ( ( Boolean ) ( value ) ) ; check . setSelection ( valueB ) ; createdWidget = check ; check . addSelectionListener ( this ) ; } else if ( param instanceof FileParameter ) { final FileParameter f = ( ( FileParameter ) ( param ) ) ; String txt = null ; if ( value == null ) txt = "push<seq2seq4repair_space>to<seq2seq4repair_space>select<seq2seq4repair_space>a<seq2seq4repair_space>file" ; else txt = ( ( File ) ( value ) ) . getAbsolutePath ( ) ; final Button button = toolkit . createButton ( form . getBody ( ) , txt , PUSH ) ; createdWidget = button ; button . addSelectionListener ( new SelectionListener ( ) { @ Override public void widgetSelected ( SelectionEvent e ) { FileDialog dialog = new FileDialog ( form . getShell ( ) , SWT . OPEN ) ; String res = dialog . open ( ) ; if ( res != null ) algo . setValueForParameter ( f . getId ( ) , new File ( res ) ) ; button . setText ( res ) ; } @ Override public void widgetDefaultSelected ( SelectionEvent e ) { } } ) ; } else { GLLogger . errorTech ( ( ( ( ( "unable<seq2seq4repair_space>to<seq2seq4repair_space>manage<seq2seq4repair_space>parameter<seq2seq4repair_space>type<seq2seq4repair_space>" + ( param . getClass ( ) . getCanonicalName ( ) ) ) + ";<seq2seq4repair_space>the<seq2seq4repair_space>parameter<seq2seq4repair_space>"

Fix:
minValue = - ( Double . MAX_VALUE ) ;