GraphDiff onSyncFlush(ObjectContext originatingContext, GraphDiff childChanges) {

    if (!(originatingContext instanceof DataContext)) {
      throw new CayenneRuntimeException(
          "No support for committing ObjectContexts that are not DataContexts yet. "
              + "Unsupported context: "
              + originatingContext);
    }

    DataDomainFlushAction action = new DataDomainFlushAction(this);
    action.setJdbcEventLogger(jdbcEventLogger);

    return action.flush((DataContext) originatingContext, childChanges);
  }