docs: private void writeDBFNumber(double number, int numberLength, int decimalLength) throws IOException {
  		final StringBuilder buffer = new StringBuilder("{0,number,#"); //$NON-NLS-1$
  		if (decimalLength > 0) {
  			buffer.append("."); //$NON-NLS-1$
  			for (int i = 0; i < decimalLength; ++i) {
  				buffer.append("#"); //$NON-NLS-1$
  			}
  		}
  		buffer.append("}"); //$NON-NLS-1$
  
  		final MessageFormat format = new MessageFormat(buffer.toString(), java.util.Locale.ROOT);
  		String formattedNumber = format.format(new Object[] {Double.valueOf(number)});
  
  		buffer.setLength(0);
  		buffer.append(formattedNumber);
  		while (buffer.length() < numberLength) {
  			buffer.insert(0, " "); //$NON-NLS-1$
  		}
  		formattedNumber = buffer.toString();
  
  		// Write the number with the original ASCII code page
  		final Charset encodingCharset = Charset.forName("IBM437"); //$NON-NLS-1$
  		if (encodingCharset == null) {
  			throw new IOException(Locale.getString("UNKNOWN_CHARSET")); //$NON-NLS-1$
  		}
  		final byte[] bytes = formattedNumber.getBytes(encodingCharset);
  		if (bytes != null) {
  			this.stream.write(bytes);
  		}
  	}