public void setMetadata(@Nullable KtClass metadata) {
		if (metadata == null) {
			tree.setRoot(null);
			return;
		}
		TreeItem<KtElement> root = new TreeItem<>(metadata);
		for (KtProperty property : metadata.getProperties()) {
			TreeItem<KtElement> propertyTree = new TreeItem<>(property);
			root.getChildren().add(propertyTree);
		}
		for (KtConstructor constructor : metadata.getConstructors()) {
			TreeItem<KtElement> constructorTree = new TreeItem<>(constructor);
			for (KtVariable parameter : constructor.getParameters()) {
				TreeItem<KtElement> parameterTree = new TreeItem<>(parameter);
				constructorTree.getChildren().add(parameterTree);
			}
			root.getChildren().add(constructorTree);
		}
		for (KtFunction function : metadata.getFunctions()) {
			TreeItem<KtElement> constructorTree = new TreeItem<>(function);
			for (KtVariable parameter : function.getParameters()) {
				TreeItem<KtElement> parameterTree = new TreeItem<>(parameter);
				constructorTree.getChildren().add(parameterTree);
			}
			root.getChildren().add(constructorTree);
		}
		root.setExpanded(true);
		tree.setRoot(root);
	}
@param metadata Metadata contents to display.
recaf-ui/src/main/java/software/coley/recaf/ui/pane/editing/tabs/KotlinMetadataPane.java