@Override
			protected void interpolate(double fraction) {
				int bytecodeSize = bytecode.length;
				int textLength = 18;
				int middle = (int) (fraction * bytecodeSize);
				int start = middle - (textLength / 2);
				int end = middle + (textLength / 2);

				// We have two rows, top for hex, bottom for text.
				StringBuilder sbHex = new StringBuilder();
				StringBuilder sbText = new StringBuilder();
				for (int i = start; i < end; i++) {
					if (i < 0) {
						sbHex.append("   ");
						sbText.append("   ");
					} else if (i >= bytecodeSize) {
						sbHex.append(" ..");
						sbText.append(" ..");
					} else {
						short b = (short) (bytecode[i] & 0xFF);
						char c = (char) b;
						if (Character.isWhitespace(c)) c = ' ';
						else if (c < 32) c = '?';
						String hex = StringUtil.limit(Integer.toHexString(b).toUpperCase(), 2);
						if (hex.length() == 1) hex = "0" + hex;
						sbHex.append(StringUtil.fillLeft(3, " ", hex));
						sbText.append(StringUtil.fillLeft(3, " ", String.valueOf(c)));
					}
				}
				labeled.setText(sbHex + "\n" + sbText);
			}
@param info
		Class to show bytecode of.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/AbstractDecompilePane.java