code: protected void commitHelper(boolean losingFocus) {
          if (editorNode == null) {
              return;
          }
          try {
              builder.validateValue();
              commitEdit((T) builder.getValue());
              builder.nullEditorNode();
              editorNode = null;
          } catch (Exception ex) {
              if (commitExceptionConsumer != null) {
                  commitExceptionConsumer.accept(ex);
              }
              if (losingFocus) {
                  cancelEdit();
              }
          }
  
      }
docs: Any action attempting to commit an edit should call this method rather than commit the edit directly itself. This
  method will perform any validation and conversion required on the value. For text values that normally means this
  method just commits the edit but for numeric values, for example, it may first parse the given input. <p> The
  only situation that needs to be treated specially is when the field is losing focus. If you user hits enter to
  commit the cell with bad data we can happily cancel the commit and force them to enter a real value. If they
  click away from the cell though we want to give them their old value back.
  
  @param losingFocus true if the reason for the call was because the field is losing focus.