LOG.debug("  horizontalScrollPosition='"+horizontalScrollPosition+"'");
	protected void setProperties(UIComponent uiComponent) {		if (LOG.isDebugEnabled()) {			if (TreeComponent.COMPONENT_TYPE==getComponentType()) {				LOG.debug("Component id='"+getId()+"' type='"+getComponentType()+"'.");			}			LOG.debug("  required='"+required+"'");			LOG.debug("  verticalScrollPosition='"+verticalScrollPosition+"'");			LOG.debug("  horizontalScrollPosition='"+horizontalScrollPosition+"'");			LOG.debug("  border='"+border+"'");			LOG.debug("  readOnly='"+readOnly+"'");			LOG.debug("  checkable='"+checkable+"'");			LOG.debug("  checkCardinality='"+checkCardinality+"'");			LOG.debug("  selectable='"+selectable+"'");			LOG.debug("  selectionCardinality='"+selectionCardinality+"'");			LOG.debug("  defaultImageURL='"+defaultImageURL+"'");			LOG.debug("  defaultSelectedImageURL='"+defaultSelectedImageURL+"'");			LOG.debug("  defaultExpandedImageURL='"+defaultExpandedImageURL+"'");			LOG.debug("  defaultDisabledImageURL='"+defaultDisabledImageURL+"'");			LOG.debug("  defaultLeafImageURL='"+defaultLeafImageURL+"'");			LOG.debug("  defaultSelectedLeafImageURL='"+defaultSelectedLeafImageURL+"'");			LOG.debug("  defaultExpandedLeafImageURL='"+defaultExpandedLeafImageURL+"'");			LOG.debug("  defaultDisabledLeafImageURL='"+defaultDisabledLeafImageURL+"'");			LOG.debug("  userExpandable='"+userExpandable+"'");			LOG.debug("  hideRootExpandSign='"+hideRootExpandSign+"'");			LOG.debug("  preloadedLevelDepth='"+preloadedLevelDepth+"'");			LOG.debug("  selectedValues='"+selectedValues+"'");			LOG.debug("  checkedValues='"+checkedValues+"'");			LOG.debug("  expansionValues='"+expansionValues+"'");			LOG.debug("  expansionUseValue='"+expansionUseValue+"'");			LOG.debug("  clientSelectionFullState='"+clientSelectionFullState+"'");			LOG.debug("  clientCheckFullState='"+clientCheckFullState+"'");		}		super.setProperties(uiComponent);		if ((uiComponent instanceof TreeComponent)==false) {			throw new IllegalStateException("Component specified by tag is not instanceof of 'TreeComponent'.");		}		TreeComponent component = (TreeComponent) uiComponent;		FacesContext facesContext = getFacesContext();		Application application = facesContext.getApplication();		if (doubleClickListeners != null) {			parseActionListener(application, component, DOUBLE_CLICK_LISTENER_TYPE, doubleClickListeners);		}		if (required != null) {			if (isValueReference(required)) {				ValueBinding vb = application.createValueBinding(required);				component.setRequired(vb);			} else {				component.setRequired(getBool(required));			}		}		if (verticalScrollPosition != null) {			if (isValueReference(verticalScrollPosition)) {				ValueBinding vb = application.createValueBinding(verticalScrollPosition);				component.setVerticalScrollPosition(vb);			} else {				component.setVerticalScrollPosition(verticalScrollPosition);			}		}		if (horizontalScrollPosition != null) {			if (isValueReference(horizontalScrollPosition)) {				ValueBinding vb = application.createValueBinding(horizontalScrollPosition);				component.setHorizontalScrollPosition(vb);			} else {				component.setHorizontalScrollPosition(horizontalScrollPosition);			}		}		if (border != null) {			if (isValueReference(border)) {				ValueBinding vb = application.createValueBinding(border);				component.setBorder(vb);			} else {				component.setBorder(getBool(border));			}		}		if (readOnly != null) {			if (isValueReference(readOnly)) {				ValueBinding vb = application.createValueBinding(readOnly);				component.setReadOnly(vb);			} else {				component.setReadOnly(getBool(readOnly));			}		}		if (checkable != null) {			if (isValueReference(checkable)) {				ValueBinding vb = application.createValueBinding(checkable);				component.setCheckable(vb);			} else {				component.setCheckable(getBool(checkable));			}		}		if (checkCardinality != null) {			if (isValueReference(checkCardinality)) {				ValueBinding vb = application.createValueBinding(checkCardinality);				component.setCheckCardinality(vb);			} else {				component.setCheckCardinality(checkCardinality);			}		}		if (checkListeners != null) {			parseActionListener(application, component, CHECK_LISTENER_TYPE, checkListeners);		}		if (selectable != null) {			if (isValueReference(selectable)) {				ValueBinding vb = application.createValueBinding(selectable);				component.setSelectable(vb);			} else {				component.setSelectable(getBool(selectable));			}		}		if (selectionCardinality != null) {			if (isValueReference(selectionCardinality)) {				ValueBinding vb = application.createValueBinding(selectionCardinality);				component.setSelectionCardinality(vb);			} else {				component.setSelectionCardinality(selectionCardinality);			}		}		if (selectionListeners != null) {			parseActionListener(application, component, SELECTION_LISTENER_TYPE, selectionListeners);		}		if (defaultImageURL != null) {			if (isValueReference(defaultImageURL)) {				ValueBinding vb = application.createValueBinding(defaultImageURL);				component.setDefaultImageURL(vb);			} else {				component.setDefaultImageURL(defaultImageURL);			}		}		if (defaultSelectedImageURL != null) {			if (isValueReference(defaultSelectedImageURL)) {				ValueBinding vb = application.createValueBinding(defaultSelectedImageURL);				component.setDefaultSelectedImageURL(vb);			} else {				component.setDefaultSelectedImageURL(defaultSelectedImageURL);			}		}		if (defaultExpandedImageURL != null) {			if (isValueReference(defaultExpandedImageURL)) {				ValueBinding vb = application.createValueBinding(defaultExpandedImageURL);				component.setDefaultExpandedImageURL(vb);			} else {				component.setDefaultExpandedImageURL(defaultExpandedImageURL);			}		}		if (defaultDisabledImageURL != null) {			if (isValueReference(defaultDisabledImageURL)) {				ValueBinding vb = application.createValueBinding(defaultDisabledImageURL);				component.setDefaultDisabledImageURL(vb);			} else {				component.setDefaultDisabledImageURL(defaultDisabledImageURL);			}		}		if (defaultLeafImageURL != null) {			if (isValueReference(defaultLeafImageURL)) {				ValueBinding vb = application.createValueBinding(defaultLeafImageURL);				component.setDefaultLeafImageURL(vb);			} else {				component.setDefaultLeafImageURL(defaultLeafImageURL);			}		}		if (defaultSelectedLeafImageURL != null) {			if (isValueReference(defaultSelectedLeafImageURL)) {				ValueBinding vb = application.createValueBinding(defaultSelectedLeafImageURL);				component.setDefaultSelectedLeafImageURL(vb);			} else {				component.setDefaultSelectedLeafImageURL(defaultSelectedLeafImageURL);			}		}		if (defaultExpandedLeafImageURL != null) {			if (isValueReference(defaultExpandedLeafImageURL)) {				ValueBinding vb = application.createValueBinding(defaultExpandedLeafImageURL);				component.setDefaultExpandedLeafImageURL(vb);			} else {				component.setDefaultExpandedLeafImageURL(defaultExpandedLeafImageURL);			}		}		if (defaultDisabledLeafImageURL != null) {			if (isValueReference(defaultDisabledLeafImageURL)) {				ValueBinding vb = application.createValueBinding(defaultDisabledLeafImageURL);				component.setDefaultDisabledLeafImageURL(vb);			} else {				component.setDefaultDisabledLeafImageURL(defaultDisabledLeafImageURL);			}		}		if (userExpandable != null) {			if (isValueReference(userExpandable)) {				ValueBinding vb = application.createValueBinding(userExpandable);				component.setUserExpandable(vb);			} else {				component.setUserExpandable(getBool(userExpandable));			}		}		if (hideRootExpandSign != null) {			if (isValueReference(hideRootExpandSign)) {				ValueBinding vb = application.createValueBinding(hideRootExpandSign);				component.setHideRootExpandSign(vb);			} else {				component.setHideRootExpandSign(getBool(hideRootExpandSign));			}		}		if (preloadedLevelDepth != null) {			if (isValueReference(preloadedLevelDepth)) {				ValueBinding vb = application.createValueBinding(preloadedLevelDepth);				component.setPreloadedLevelDepth(vb);			} else {				component.setPreloadedLevelDepth(getInt(preloadedLevelDepth));			}		}		if (selectedValues != null) {			if (isValueReference(selectedValues)) {				ValueBinding vb = application.createValueBinding(selectedValues);				component.setSelectedValues(vb);			} else {				component.setSelectedValues(selectedValues);			}		}		if (checkedValues != null) {			if (isValueReference(checkedValues)) {				ValueBinding vb = application.createValueBinding(checkedValues);				component.setCheckedValues(vb);			} else {				component.setCheckedValues(checkedValues);			}		}		if (expansionValues != null) {			if (isValueReference(expansionValues)) {				ValueBinding vb = application.createValueBinding(expansionValues);				component.setExpansionValues(vb);			} else {				throw new javax.faces.FacesException("Attribute 'expansionValues' accept only a binding expression !");			}		}		if (expansionUseValue != null) {			if (isValueReference(expansionUseValue)) {				ValueBinding vb = application.createValueBinding(expansionUseValue);				component.setExpansionUseValue(vb);			} else {				component.setExpansionUseValue(getBool(expansionUseValue));			}		}		if (clientSelectionFullState != null) {			if (isValueReference(clientSelectionFullState)) {				ValueBinding vb = application.createValueBinding(clientSelectionFullState);				component.setClientSelectionFullState(vb);			} else {				component.setClientSelectionFullState(getBool(clientSelectionFullState));			}		}		if (clientCheckFullState != null) {			if (isValueReference(clientCheckFullState)) {				ValueBinding vb = application.createValueBinding(clientCheckFullState);				component.setClientCheckFullState(vb);			} else {				component.setClientCheckFullState(getBool(clientCheckFullState));			}		}	}