code: private void _writeStringCustom(final int len)
  			throws IOException, JsonGenerationException
  	{
  		// And then we'll need to verify need for escaping etc:
  		int end = _outputTail + len;
  		final int[] escCodes = _outputEscapes;
  		final int maxNonEscaped = (_maximumNonEscapedChar < 1) ? 0xFFFF : _maximumNonEscapedChar;
  		final int escLimit = Math.min(escCodes.length, maxNonEscaped+1);
  		int escCode = 0;
  		final CharacterEscapes customEscapes = _characterEscapes;
  
  		output_loop:
  		while (_outputTail < end) {
  			char c;
  			// Fast loop for chars not needing escaping
  			escape_loop:
  			while (true) {
  				c = _outputBuffer[_outputTail];
  				if (c < escLimit) {
  					escCode = escCodes[c];
  					if (escCode != 0) {
  						break escape_loop;
  					}
  				} else if (c > maxNonEscaped) {
  					escCode = CharacterEscapes.ESCAPE_STANDARD;
  					break escape_loop;
  				} else {
  					if ((_currentEscape = customEscapes.getEscapeSequence(c)) != null) {
  						escCode = CharacterEscapes.ESCAPE_CUSTOM;
  						break escape_loop;
  					}
  				}
  				if (++_outputTail >= end) {
  					break output_loop;
  				}
  			}
  			int flushLen = (_outputTail - _outputHead);
  			if (flushLen > 0) {
  				_writer.write(_outputBuffer, _outputHead, flushLen);
  			}
  			++_outputTail;
  			_prependOrWriteCharacterEscape(c, escCode);
  		}
  	}
docs: /* Same as "_writeString2()", except needs additional escaping
  for subset of characters