private void sendFile(File file, BufferedOutputStream out) {
		// Prepare InputStream
		try (InputStream reader = new BufferedInputStream(new FileInputStream(file))) {
			// No ContentType found? Start a simple download
			String contentType = FileManager.getContentType(file);
			if (contentType == null) {
				contentType = "application/octet-stream";
			}

			// Send headers and content
			sendHeader(out, 200, "OK", contentType, file.length(), file.lastModified());
			try {
				byte[] buffer = new byte[8192];
				int bytesRead;
				while ((bytesRead = reader.read(buffer)) > 0) {
					out.write(buffer, 0, bytesRead);
				}
				reader.close();
			} catch (NullPointerException | IOException e) {
				// Throws a "Broken Pipe" or "Socket Write Error" Exception if the client closes the connection before file-transfer completed
				logger.exception(e.getMessage());
			}
		} catch (IOException e) {
			logger.exception(e.getMessage());
		}
	}