public Option(IOptions owner, String name, int type, Object defaultValue) { this.owner = owner; this.name = name; this.type = type; if (isValidValue(defaultValue)) { this.defaultValue = defaultValue; this.value = defaultValue; } else { throw new IllegalArgumentException("Tried to give wrong type of value for option type."); }
public Option(IOptions owner, String name, String defaultValue) { this(owner, name, STRING, defaultValue);
    public Option(IOptions owner, String name, int type, Object defaultValue) {        this.owner = owner;        this.name = name;        this.type = type;        if (isValidValue(defaultValue)) {            this.defaultValue = defaultValue;            this.value = defaultValue;        } else {            throw new IllegalArgumentException("Tried to give wrong type of value for option type.");        }    }