code: private void addMeterValueToTransaction(final Transaction transaction, final MeterValue meterValue) {
          if (meterValue.getUnit() == UnitOfMeasure.WATT_HOUR || meterValue.getUnit() == UnitOfMeasure.KILOWATT_HOUR) {
              try {
                  transaction.getMeterValues().add(toOperatorApiMeterValue(meterValue));
              } catch (Throwable t) {
                  // Catching a Throwable here because we want to ensure other MeterValues are processed even if this one
                  // fails (for whatever reason!).
                  LOG.info(String.format("Skipping adding MeterValue [%s] to Transaction [%s] because an Exception was thrown", meterValue, transaction.getTransactionId()), t);
              }
          } else {
              LOG.info("Skipping adding MeterValue [{}] to Transaction [{}] because UnitOfMeasure is not WATT_HOUR or KILOWATT_HOUR", meterValue, transaction.getTransactionId());
          }
      }
docs: Adds a single {@code MeterValue} to the {@code Transaction}.
  <p/>
  If a {@code MeterValue} cannot be added this method will skip adding it, won't throw an exception, and log that
  this occurred and why.
  
  @param transaction the {@code Transaction} to which to add the {@code MeterValue}.
  @param meterValue  the {@code MeterValue} to add.