private void init(@Nonnull ContextType type) {
		if (!javaEditor.getCodeArea().getText().isBlank()) return;

		// TODO: The comment should reflect what contexts are active
		//  - Should query expression compiler for this info
		String text = Lang.get("assembler.playground.comment").replace("\\n", "\n") + '\n';

		switch (type) {
			case CLASS, FIELD -> text += "return;";
			case METHOD -> {
				ClassType returnType = Types.methodType(currentMethod.getDescriptor()).returnType();
				if (returnType instanceof ObjectType ot) {
					text += "return null;";
				} else if (returnType instanceof PrimitiveType pt) {
					switch (pt.descriptor().charAt(0)) {
						case 'V':
							text += "return;";
							break;
						case 'J':
							text += "return 0L;";
							break;
						case 'D':
							text += "return 0.0;";
							break;
						case 'F':
							text += "return 0F;";
							break;
						case 'I':
							text += "return 0;";
							break;
						case 'C':
							text += "return 'a';";
							break;
						case 'S':
							text += "return (short) 0;";
							break;
						case 'B':
							text += "return (byte) 0;";
							break;
						case 'Z':
							text += "return false;";
							break;
					}
				}
			}
		}
		javaEditor.setText(text);

		// Mark dirty when a user makes a change.
		javaEditor.textProperty().addListener(new ChangeListener<>() {
			@Override
			public void changed(ObservableValue<? extends String> ob, String old, String cur) {
				isDirty = true;
				javaEditor.textProperty().removeListener(this);
			}
		});
	}
Populates the initial text of the expression compiler pane.

@param type
		Content type in the {@link AssemblerPane}.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/assembler/JvmExpressionCompilerPane.java