code: public void finishNegotiation (final boolean commitChanges) {
          // commit or roll back connection-specific entries
          commitOrRollBackChanges(commitChanges);
          // commit or roll back session-wide entries
          sessionSettingsNegotiator.commitOrRollBackChanges(commitChanges);
          // update settings
          updateSettingsBuilderComponent();
          sessionSettingsNegotiator.updateSettingsBuilderComponent();
          updateSettings();
          // allow other Threads to negotiate
          sessionSettingsNegotiator.unlock();
      }
docs: This method must be called at the end of a negotiation sequence. If there was a problem during negotiations, all
  changes to the managed {@link Entry} objects must be discarded by setting the <i>commitChanges</i> parameter to
  <code>false</code>. If it is <code>true</code>, then the parameter changes will be incorporated into the updated
  {@link #settings}.
  <p>
  Calling this method should be ensured by a <code>try ... catch ...
  finally</code> block.
  
  @param commitChanges <code>true</code> if and only if the negotiated parameter changes are to be committed