/**
   * The following actions are performed:
   *
   * <ul>
   *   <li>Defaults maxLength, minLength (if not set) to maxLength of parent field
   * </ul>
   *
   * {@inheritDoc}
   */
  @Override
  public void performFinalize(Object model, LifecycleElement parent) {
    super.performFinalize(model, parent);

    if (parent instanceof InputField) {
      InputField field = (InputField) parent;
      if (getMaxLength() == null) {
        setMaxLength(field.getMaxLength());
      }

      if (getMinLength() == null) {
        setMinLength(field.getMinLength());
      }
    }
  }