docs: @SuppressWarnings("checkstyle:magicnumber")
  	private void writeColumns() throws IOException {
  
  		for (final DBaseFileField field : this.columns) {
  			// Field name, filled with 0x00 (0-10)
  			writeDBFString(field.getName(), 10, (byte) 0x00);
  			this.stream.writeByte(0x00);
  
  			// Field type (11)
  			this.stream.writeByte(field.getType().toByte());
  
  			// Field data address, not useful for disk (12-15)
  			this.stream.write(new byte[]{0, 0, 0, 0});
  
  			// Field length (16)
  			this.stream.writeByte(field.getLength());
  
  			// Field decimal count (17)
  			this.stream.writeByte(field.getDecimalPointPosition());
  
  			// Reserved (18-31)
  			for (int i = 18; i <= 31; ++i) {
  				this.stream.writeByte(0);
  			}
  		}
  
  		// Terminator after the field description (value 0Dh)
  		this.stream.writeByte(0x0D);
  	}