public void downToNext(){
	try {
	    if(allowedValue == null){
		int n = this.getValue();
		if(specialValue != null){
		    for(int i=specialValue.length; i>0; i--){
			if(n > specialValue[i-1] && specialValue[i-1] % increment == 0){
			    setNormal();
			    setText(Integer.toString(specialValue[i-1]));
			    return;
			}
		    }
		    System.out.println("There is no special value set lower than the current value of \"" + name + "\" that is compatible with the increment = " + increment);
		}else{
		    System.out.println("There are no special values for " + name);
		}
	    }else{
		if(allowedIndex > 0){
		    allowedIndex--;
		    setText(Integer.toString(allowedValue[allowedIndex]));
		}
	    }
	}
	catch(Exception e){
	    System.out.println(e.toString());
	    System.out.println("Failed to jump to next lower special value = " + name);
	    setError();
	}					
    }