Buggy code:
class PathTruderDesign extends Dialog { final PathTruderSettings ps ; final BigDecimalSpinner [ ] spn_maxPathSegmentLength = new BigDecimalSpinner [ 1 ] ; final BigDecimalSpinner [ ] spn_centerCurve = new BigDecimalSpinner [ 1 ] ; final BigDecimalSpinner [ ] spn_lineThreshold = new BigDecimalSpinner [ 1 ] ; final BigDecimalSpinner [ ] spn_rotationAngle = new BigDecimalSpinner [ 1 ] ; final IntegerSpinner [ ] spn_transitions = new IntegerSpinner [ 1 ] ; final BigDecimalSpinner [ ] spn_transCurve = new BigDecimalSpinner [ 1 ] ; final Combo [ ] cmb_shapeCompensation = new Combo [ 1 ] ; final Combo [ ] cmb_bfcInvert = new Combo [ 1 ] ; final Combo [ ] cmb_scope = new Combo [ 1 ] ; PathTruderDesign ( Shell parentShell , PathTruderSettings ps ) { } @ Override protected Control createDialogArea ( Composite parent ) { Composite cmp_container = ( ( Composite ) ( super . createDialogArea ( parent ) ) ) ; GridLayout gridLayout = ( ( GridLayout ) ( cmp_container . getLayout ( ) ) ) ; gridLayout . verticalSpacing = 10 ; gridLayout . horizontalSpacing = 10 ; Label lbl_specify = new Label ( cmp_container , SWT . NONE ) ; lbl_specify . setText ( "PathTruder<seq2seq4repair_space>[Double<seq2seq4repair_space>Precision,<seq2seq4repair_space>IEEE-754]\nResults<seq2seq4repair_space>are<seq2seq4repair_space>rounded<seq2seq4repair_space>to<seq2seq4repair_space>6<seq2seq4repair_space>decimal<seq2seq4repair_space>places." ) ; Label lbl_separator = new Label ( cmp_container , ( ( SWT . SEPARATOR ) | ( SWT . HORIZONTAL ) ) ) ; lbl_separator . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; Label lbl_colourCodes = new Label ( cmp_container , SWT . NONE ) ; <START_BUG> lbl_colourCodes . setText ( "Colour<seq2seq4repair_space>codes:\n\n1\t=<seq2seq4repair_space>Path<seq2seq4repair_space>1\n2\t=<seq2seq4repair_space>Path<seq2seq4repair_space>2\n4\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>1<seq2seq4repair_space>Direction<seq2seq4repair_space>Vector\n5\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>1\n13\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>2<seq2seq4repair_space>Direction<seq2seq4repair_space>Vector<seq2seq4repair_space>[optional]\n14\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>2<seq2seq4repair_space>[optional]\n7\t=<seq2seq4repair_space>Line<seq2seq4repair_space>Indicators<seq2seq4repair_space>[optional]\n0\t=<seq2seq4repair_space>Line<seq2seq4repair_space>Ending<seq2seq4repair_space>Normal<seq2seq4repair_space>Indicators<seq2seq4repair_space>[optional]\n" ) ; <END_BUG> Label lbl_use180deg = new Label ( cmp_container , SWT . NONE ) ; lbl_use180deg . setText ( "Define<seq2seq4repair_space>maximum<seq2seq4repair_space>path<seq2seq4repair_space>segment<seq2seq4repair_space>length.<seq2seq4repair_space>Longer<seq2seq4repair_space>segments<seq2seq4repair_space>are<seq2seq4repair_space>split<seq2seq4repair_space>(100000,<seq2seq4repair_space>default):" ) ; BigDecimalSpinner spn_maxPathSegmentLength = new BigDecimalSpinner ( cmp_container , SWT . NONE ) ; this . spn_maxPathSegmentLength [ 0 ] = spn_maxPathSegmentLength ; spn_maxPathSegmentLength . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; spn_maxPathSegmentLength . setMaximum ( new BigDecimal ( 100000 ) ) ; spn_maxPathSegmentLength . setMinimum ( new BigDecimal ( "0.0001" ) ) ; spn_maxPathSegmentLength . setValue ( ps . getMaxPathSegmentLength ( ) ) ; Label lbl_transitions = new Label ( cmp_container , SWT . NONE ) ; lbl_transitions . setText ( "Sets<seq2seq4repair_space>the<seq2seq4repair_space>number<seq2seq4repair_space>of<seq2seq4repair_space>transitions<seq2seq4repair_space>from<seq2seq4repair_space>shape1<seq2seq4repair_space>to<seq2seq4repair_space>shape2<seq2seq4repair_space>and<seq2seq4repair_space>vice<seq2seq4repair_space>versa<seq2seq4repair_space>(1,<seq2seq4repair_space>default):" ) ; IntegerSpinner spn_transitions = new IntegerSpinner ( cmp_container , SWT . NONE ) ; this . spn_transitions [ 0 ] = spn_transitions ; spn_transitions . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; spn_transitions . setMaximum ( 1000000 ) ; spn_transitions . setMinimum ( 1 ) ; spn_transitions . setValue ( ps . getTransitionCount ( ) ) ; Label lbl_transCurve = new Label ( cmp_container , SWT . NONE ) ; lbl_transCurve . setText ( "Control<seq2seq4repair_space>transition<seq2seq4repair_space>curve,<seq2seq4repair_space>from<seq2seq4repair_space>1<seq2seq4repair_space>(linear)<seq2seq4repair_space>to<seq2seq4repair_space>10<seq2seq4repair_space>(s-shape,<seq2seq4repair_space>default)<seq2seq4repair_space>to<seq2seq4repair_space>100<seq2seq4repair_space>(step):" ) ; BigDecimalSpinner spn_transCurve = new BigDecimalSpinner ( cmp_container , SWT . NONE ) ; this . spn_transCurve [ 0 ] = spn_transCurve ; spn_transCurve . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; spn_transCurve . setMaximum ( new BigDecimal ( 100 ) ) ; spn_transCurve . setMinimum ( BigDecimal . ONE ) ; spn_transCurve . setValue ( ps . getTransitionCurveControl ( ) ) ; Label lbl_centerCurve = new Label ( cmp_container , SWT . NONE ) ; lbl_centerCurve . setText ( "Control<seq2seq4repair_space>transition<seq2seq4repair_space>curve<seq2seq4repair_space>centering.<seq2seq4repair_space>0<seq2seq4repair_space><=<seq2seq4repair_space>position<seq2seq4repair_space><=<seq2seq4repair_space>1.<seq2seq4repair_space>Default<seq2seq4repair_space>is<seq2seq4repair_space>0.5,<seq2seq4repair_space>centered:" ) ; BigDecimalSpinner spn_centerCurve = new BigDecimalSpinner ( cmp_container , SWT . NONE ) ; this . spn_centerCurve [ 0 ] = spn_centerCurve ; spn_centerCurve . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; spn_centerCurve . setMaximum ( BigDecimal . ONE ) ; spn_centerCurve . setMinimum ( new BigDecimal ( 0 ) ) ; spn_centerCurve . setValue ( ps . getTransitionCurveCenter ( ) ) ; Label lbl_lineThreshold = new Label ( cmp_container , SWT . NONE ) ; lbl_lineThreshold . setText ( "If<seq2seq4repair_space>path<seq2seq4repair_space>has<seq2seq4repair_space>a<seq2seq4repair_space>sharper<seq2seq4repair_space>angle,<seq2seq4repair_space>a<seq2seq4repair_space>line<seq2seq4repair_space>is<seq2seq4repair_space>created<seq2seq4repair_space>at<seq2seq4repair_space>the<seq2seq4repair_space>junction.<seq2seq4repair_space>Default<seq2seq4repair_space>is<seq2seq4repair_space>180°<seq2seq4repair_space>(no<seq2seq4repair_space>line).\nUse<seq2seq4repair_space>a<seq2seq4repair_space>negative<seq2seq4repair_space>value<seq2seq4repair_space>to<seq2seq4repair_space>force<seq2seq4repair_space>line<seq2seq4repair_space>creation:" ) ; BigDecimalSpinner spn_lineThreshold = new BigDecimalSpinner ( cmp_container , SWT . NONE ) ; this . spn_lineThreshold [ 0 ] = spn_lineThreshold ; spn_lineThreshold . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; spn_lineThreshold . setMaximum ( new BigDecimal ( 180 ) ) ; spn_lineThreshold . setMinimum ( new BigDecimal ( ( - 1 ) ) ) ; spn_lineThreshold . setValue ( ps . getPathAngleForLine ( ) ) ; Label lbl_rotationAngle = new Label ( cmp_container , SWT . NONE ) ; lbl_rotationAngle . setText ( "Specify<seq2seq4repair_space>rotation<seq2seq4repair_space>of<seq2seq4repair_space>shape<seq2seq4repair_space>direction<seq2seq4repair_space>vector<seq2seq4repair_space>around<seq2seq4repair_space>path1<seq2seq4repair_space>as<seq2seq4repair_space>it<seq2seq4repair_space>sweeps<seq2seq4repair_space>along<seq2seq4repair_space>the<seq2seq4repair_space>path.<seq2seq4repair_space>Default<seq2seq4repair_space>is<seq2seq4repair_space>0°:" ) ; BigDecimalSpinner spn_rotationAngle = new BigDecimalSpinner ( cmp_container , SWT . NONE ) ; this . spn_rotationAngle [ 0 ] = spn_rotationAngle ; spn_rotationAngle . setLayoutData ( new org . eclipse . swt . layout . GridData ( SWT . FILL , SWT . CENTER , false , false , 1 , 1 ) ) ; spn_rotationAngle . setMaximum ( new BigDecimal ( 1000000 ) ) ; spn_rotationAngle . setMinimum ( new BigDecimal ( 0 ) ) ; spn_rotationAngle . setValue ( ps . getRotation ( ) ) ; Label lbl_af = new Label ( cmp_container , SWT . NONE ) ; lbl_af . setText ( "Compensation<seq2seq4repair_space>at<seq2seq4repair_space>sharp<seq2seq4repair_space>path<seq2seq4repair_space>angles:" ) ; Combo cmb_shapeCompensation = new Combo ( cmp_container , SWT . READ_ONLY ) ; this . cmb_shapeCompensation [ 0 ] = cmb_shapeCompensation ; cmb_shapeCompensation . setItems ( new String [ ] { "No<seq2seq4repair_space>compensation<seq2seq4repair_space>(default)." , "The<seq2seq4repair_space>shape<seq2seq4repair_space>is<seq2seq4repair_space>elongated<seq2seq4repair_space>to<seq2seq4repair_space>compensate<seq2seq4repair_space>for<seq2seq4repair_space>flattening<seq2seq4repair_space>at<seq2seq4repair_space>sharp<seq2seq4repair_space>path<seq2seq4repair_space>angles." } ) ;

Fix:
lbl_colourCodes . setText ( "Colour<seq2seq4repair_space>codes:\n\n1\t=<seq2seq4repair_space>Path<seq2seq4repair_space>1\n2\t=<seq2seq4repair_space>Path<seq2seq4repair_space>2\n4\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>1<seq2seq4repair_space>Direction<seq2seq4repair_space>Vector\n5\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>1\n12\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>2<seq2seq4repair_space>Direction<seq2seq4repair_space>Vector<seq2seq4repair_space>[optional]\n13\t=<seq2seq4repair_space>Shape<seq2seq4repair_space>2<seq2seq4repair_space>[optional]\n7\t=<seq2seq4repair_space>Line<seq2seq4repair_space>Indicators<seq2seq4repair_space>[optional]\n0\t=<seq2seq4repair_space>Line<seq2seq4repair_space>Ending<seq2seq4repair_space>Normal<seq2seq4repair_space>Indicators<seq2seq4repair_space>[optional]\n" ) ;