code: private ReadableProperty<Boolean> installTabValidation(JTabbedPane tabbedPane, int i,
                                                             ReadableProperty<Collection<Boolean>> tabResultsProperty) {
          // Tab is valid only if all fields are valid
          SimpleBooleanProperty tabResultProperty = new SimpleBooleanProperty();
          read(tabResultsProperty).transform(new AndBooleanAggregator()).write(tabResultProperty);
  
          // Handle tab-wise result
          read(tabResultProperty).write(new ResultHandlerProperty<Boolean>(new TabIconBooleanFeedback(tabbedPane, i,
                  "This tab contains errors.")));
  
          // Tabbed pane will be valid only if all tabs are valid
          return tabResultProperty;
      }
docs: Sets up the tab-wise validation.
  <p>
  A tab is considered valid only if all of its fields are valid.
  
  @param tabbedPane         Tabbed pane holding the tab on which the validation should be installed.
  @param i                  Index of the tab in the tabbed pane.
  @param tabResultsProperty Results of the individual fields inside the tab.
  
  @return Property representing the result of the tab-wise validation and that can be used for tabbed pane-wise
  validation.