private void save() {
		// Pull data from path.
		TextFileInfo info = path.getValue().asTextFile();
		FileBundle bundle = path.getValueOfType(FileBundle.class);
		if (bundle == null)
			throw new IllegalStateException("Bundle missing from file path node");

		// Create updated info model.
		FileInfo newInfo = info.toTextBuilder()
				.withRawContent(editor.getText().getBytes(info.getCharset()))
				.build();

		// Update the file in the bundle.
		updateLock.set(true);
		bundle.put(newInfo);
		updateLock.set(false);
		FxThreadUtil.run(() -> Animations.animateSuccess(this, 1000));
	}
Called when {@link KeybindingConfig#getSave()} is pressed.
<br>
Updates the {@link FileInfo} in the containing {@link FileBundle}.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/text/TextPane.java