final Object preformatInternal(Object value) {
			if (value == null) {
				return null;
			} else if (getDepth() > getMaxDepth()) {
				return null;
			} else if (JSON.this.getClass() != JSON.class) {
				try {
					return preformat(this, value);
				} catch (Exception e) {
					throw new JSONException(getMessage("json.format.ConversionError", value, this),
						JSONException.PREFORMAT_ERROR, e);
				}
			}
			return value;
		}