private ConversionRateDoc insertConversionRateDocument(FIN_FinaccTransaction transaction) {
   OBContext.setAdminMode();
   try {
     ConversionRateDoc newConversionRateDoc =
         OBProvider.getInstance().get(ConversionRateDoc.class);
     newConversionRateDoc.setOrganization(transaction.getOrganization());
     newConversionRateDoc.setCurrency(transaction.getForeignCurrency());
     newConversionRateDoc.setToCurrency(transaction.getCurrency());
     newConversionRateDoc.setRate(transaction.getForeignConversionRate());
     newConversionRateDoc.setForeignAmount(transaction.getForeignAmount());
     newConversionRateDoc.setFinancialAccountTransaction(
         OBDal.getInstance().get(APRM_FinaccTransactionV.class, transaction.getId()));
     OBDal.getInstance().save(newConversionRateDoc);
     OBDal.getInstance().flush();
     return newConversionRateDoc;
   } finally {
     OBContext.restorePreviousMode();
   }
 }