started adding a property-cell
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/tree/PropertyTreeCell.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/tree/PropertyTreeCell.java
new file mode 100644
index 0000000..2439eb3
--- /dev/null
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/tree/PropertyTreeCell.java
@@ -0,0 +1,76 @@
+//package org.eclipse.fx.ui.controls.tree;

+//

+//import java.util.function.Function;

+//

+//import org.eclipse.jdt.annotation.NonNull;

+//import org.eclipse.jdt.annotation.Nullable;

+//

+//import javafx.beans.InvalidationListener;

+//import javafx.beans.property.ObjectProperty;

+//import javafx.beans.property.Property;

+//import javafx.beans.property.SimpleObjectProperty;

+//import javafx.scene.Node;

+//import javafx.scene.control.TreeCell;

+//

+//public class PropertyTreeCell<T> extends TreeCell<T> {

+//	@NonNull

+//	private final ObjectProperty<@NonNull Function<@Nullable T, @Nullable Property<@Nullable CharSequence>>> labelExtractor;

+//	@NonNull

+//	private final ObjectProperty<@NonNull Function<@Nullable T, @Nullable Property<@Nullable Node>>> graphicExtractor;

+//	@NonNull

+//	private final InvalidationListener labelFunctionChangeTracker;

+//

+//	Property<@Nullable CharSequence> labelProperty;

+//

+//	/**

+//	 * Create a new instance

+//	 *

+//	 * @param labelExtractor

+//	 *            property with a function used to extract the string

+//	 */

+//	public PropertyTreeCell(

+//			@NonNull ObjectProperty<@NonNull Function<@Nullable T, @Nullable Property<@Nullable CharSequence>>> labelExtractor) {

+//		this(labelExtractor,new SimpleObjectProperty<>(i -> null));

+//	}

+//

+//	/**

+//	 * Create a new instance

+//	 *

+//	 * @param labelExtractor

+//	 *            property with a function used to extract the string

+//	 * @param graphicExtractor

+//	 * 			  property with a function used to extract a graphic node

+//	 */

+//	public PropertyTreeCell(

+//			@NonNull ObjectProperty<@NonNull Function<@Nullable T, Property<@Nullable CharSequence>>> labelExtractor,

+//			@NonNull ObjectProperty<@NonNull Function<@Nullable T, Property<@Nullable Node>>> graphicExtractor) {

+//		this.labelExtractor = labelExtractor;

+//		this.graphicExtractor = graphicExtractor;

+//		this.labelFunctionChangeTracker = ( o ) -> {

+//			@Nullable

+//			Property<@Nullable CharSequence> apply = this.labelExtractor.get().apply(getItem());

+//		};

+//	}

+//

+//	@Override

+//	protected void updateItem(T item, boolean empty) {

+//		super.updateItem(item, empty);

+//		if( ! empty ) {

+//			updateText(this.labelExtractor.get());

+//		} else {

+//			setGraphic(null);

+//			setText(null);

+//		}

+//	}

+//

+//	private void updateText(@NonNull Function<@Nullable T, @Nullable Property<@Nullable CharSequence>> function) {

+//		this.labelProperty = this.labelExtractor.get().apply(getItem());

+//		if( this.labelProperty != null ) {

+//			updateText(this.labelProperty.getValue());

+//		}

+//	}

+//

+//	private void updateText(CharSequence t) {

+//

+//	}

+//}