protected ExtendedDataModel createDataModel() {
Object value = this.getValue();
if (value != null) {
if (value instanceof TreeNode) {
TreeDataModel<TreeNode> treeDataModel = new ClassicTreeDataModel();
treeDataModel.setWrappedData(value);
if (this.allowCachedModel && PRESERVE_MODEL_REQUEST.equals(getPreserveModel())) {
treeDataModel = new ClassicCacheableTreeDataModel(treeDataModel);
}