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);
  }
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