code: public void saveRecord(final ORecordInternal<?> iRecord, final String iClusterName, final OPERATION_MODE iMode,
        final ORecordCallback<? extends Number> iCallback) {
      try {
        database.executeSaveRecord(iRecord, iClusterName, iRecord.getVersion(), iRecord.getRecordType(), true, iMode, iCallback);
      } catch (Exception e) {
        // REMOVE IT FROM THE CACHE TO AVOID DIRTY RECORDS
        final ORecordId rid = (ORecordId) iRecord.getIdentity();
        if (rid.isValid())
          database.getLevel1Cache().freeRecord(rid);
  
        if (e instanceof RuntimeException)
          throw (RuntimeException) e;
        throw new OException(e);
      }
    }
docs: Update the record.
  
  @param iCallback