code: public static BigDecimal e(MathContext mathContext) {
  		checkMathContext(mathContext);
  		BigDecimal result = null;
  		
  		synchronized (eCacheLock) {
  			if (eCache != null && mathContext.getPrecision() <= eCache.precision()) {
  				result = eCache;
  			} else {
  				eCache = exp(ONE, mathContext);
  				return eCache;
  			}
  		}
  
  		return round(result, mathContext);
  	}
docs: Returns the number e.
  
  <p>See <a href="https://en.wikipedia.org/wiki/E_(mathematical_constant)">Wikipedia: E (mathematical_constant)</a></p>
  
  @param mathContext the {@link MathContext} used for the result
  @return the number e with the precision specified in the <code>mathContext</code>
  @throws UnsupportedOperationException if the {@link MathContext} has unlimited precision