class IntervalBoundValidator implements Validator<String> {

    /**
     * If not null, interval start &lt;= end is also validated.
     */
    private JTextComponent intervalStartTextField = null;

    public IntervalBoundValidator() {
    }

    public IntervalBoundValidator(JTextComponent intervalStartTextField) {
        this.intervalStartTextField = intervalStartTextField;
    }

    @Override
    public void validate(Problems prblms, String componentName, String value) {<FILL_FUNCTION_BODY>}

    @Override
    public Class<String> modelType() {
        return String.class;
    }
}

        try {
            double time = AttributeUtils.parseDateTimeOrTimestamp(value);
            if (intervalStartTextField != null) {
                //Also validate that this (end time) is greater or equal than start time.
                try {
                    double startTime = AttributeUtils.parseDateTimeOrTimestamp(intervalStartTextField.getText());
                    if (time < startTime) {
                        prblms.add(NbBundle.getMessage(IntervalBoundValidator.class,
                            "IntervalBoundValidator.invalid.interval.message"));
                    }
                } catch (Exception parseException) {
                }
            }
        } catch (Exception ex) {
            prblms
                .add(NbBundle.getMessage(IntervalBoundValidator.class, "IntervalBoundValidator.invalid.bound.message"));
        }
    
<no_super_class>