docs: @Nullable
    public static Long getExactLongFromDecimalString(String decimalStr)
    {
      final Long val = GuavaUtils.tryParseLong(decimalStr);
      if (val != null) {
        return val;
      }
  
      BigDecimal convertedBD;
      try {
        convertedBD = new BigDecimal(decimalStr);
      }
      catch (NumberFormatException nfe) {
        return null;
      }
  
      try {
        return convertedBD.longValueExact();
      }
      catch (ArithmeticException ae) {
        // indicates there was a non-integral part, or the BigDecimal was too big for a long
        return null;
      }
    }