public boolean checkFields() throws FieldValueException {
    FieldsChecking.checkAllRequiredFields(this);

    Date validFrom = validFromField.getDate();

    Date validTo = validToField.getDateAcceptEmpty();
    if (validTo != null) {
      if (validFrom.after(validTo)) {
        throw new FieldValueException(
            "<USER>'Valid From' should not be later than 'Valid To'</USER>");
      }
    }

    FacilityValue seaport = (FacilityValue) seaportCombo.getSelectedItem();

    Seaport2FixpointValue seaport2Fixpoint = (Seaport2FixpointValue) getModel();
    seaport2Fixpoint.setSeaportId(seaport.getId().longValue());
    seaport2Fixpoint.setValidityStart(validFrom);
    seaport2Fixpoint.setValidityEnd(validTo);

    Object selectedFixpoint = fixpointCombo.getSelectedItem();
    if (selectedFixpoint instanceof FacilityValue) {
      FacilityValue fixpoint = (FacilityValue) selectedFixpoint;
      seaport2Fixpoint.setFixpointId(fixpoint.getId());
      seaport2Fixpoint.setActive(true);
    } else {
      seaport2Fixpoint.setFixpointId(null);
      seaport2Fixpoint.setActive(false);
    }

    // Nicht verwendet.
    return true;
  }