code: function plus() {
    var set;
    if (plus.arguments.length == 1)
     {
      set = plus.arguments[0];
     }
    else if (plus.arguments.length == 0)
     {
      set = this.plainMC;
     }
    else
     {
      throw "plus(): " + plus.arguments.length + " arguments given; expected 0 or 1";
     }
    // This clones and forces the result to the new settings
    // May return same object
    if (set.lostDigits)
     this.checkdigits(null,set.digits);
    // Optimization: returns same object for some common cases
    if (set.form==MathContext.prototype.PLAIN)
     if (this.form==MathContext.prototype.PLAIN)
      {
       if (this.mant.length<=set.digits)
        return this;
       if (set.digits==0)
        return this;
      }
    return this.clone(this).finish(set,false);
    }
docs: Returns a <code>BigDecimal</code> whose value is
  <code>+this</code>.
  <p>
  Implements the plus (Prefix <b><code>+</code></b>) operator
  (as defined in the decimal documentation, see {@link BigDecimal
  class header}),
  and returns the result as a <code>BigDecimal</code> object.
  <p>
  This method is useful for rounding or otherwise applying a context
  to a decimal value.
  
  @param  set The <code>MathContext</code> arithmetic settings.
  @return A <code>BigDecimal</code> whose value is
  <code>+this</code>.
  @stable ICU 2.0
   public com.ibm.icu.math.BigDecimal plus(com.ibm.icu.math.MathContext set){