code: JSONStringer close(Scope empty, Scope nonempty, String closeBracket)
  			throws JSONException {
  		Scope context = peek();
  		if (context != nonempty && context != empty) {
  			throw new JSONException("Nesting problem");
  		}
  
  		this.stack.remove(this.stack.size() - 1);
  		if (context == nonempty) {
  			newline();
  		}
  		this.out.append(closeBracket);
  		return this;
  	}
docs: Closes the current scope by appending any necessary whitespace and the given
  bracket.
  @param empty any necessary whitespace
  @param nonempty the current scope
  @param closeBracket the close bracket
  @return the JSON stringer
  @throws JSONException if processing of json failed