throws PreferencesException
{
if (!isPreferenceRootSettingUsed())
return(node);
PreferenceRoot rootConfig = metadata.getAnnotation(PreferenceRoot.class);
String rootName;
if (rootConfig == null || StringUtils.isEmpty(rootConfig.name()))
rootName = metadata.getEntityType().getCanonicalName();
else
rootName = rootConfig.name();
PreferenceNode curNode = node;
for (String nodeToken : rootName.split(Pattern.quote(ClassUtils.PACKAGE_SEPARATOR)))
{
curNode = curNode.getChildNode(nodeToken);