Source:
<code>public void load(final String text) { fTestFiles.clear(); fVariables.clear(); fCodeFragments.clear(); fFlags.clear(); try { final XMLMemento memento = XMLMemento.createReadRoot(new StringReader(text)); final IMemento testsNode = memento.getChild(XML_NODE_TESTFILES); if (testsNode != null) { for (final IMemento node : testsNode.getChildren(XML_NODE_TESTFILE)) fTestFiles.add(node.getTextData()); } final IMemento variablesNode = memento.getChild(XML_NODE_VARIABLES); if (variablesNode != null) { for (final IMemento node : variablesNode.getChildren(XML_NODE_VARIABLE)) { String pathVariable = node.getString(XML_ATTRIBUTE_PATH); final IPath path = (pathVariable == null) ? Path.ROOT : new Path(pathVariable); <START> if (pathVariable == null) <END> pathVariable = Path.ROOT.toString(); fVariables.add(new Variable(node.getString(XML_ATTRIBUTE_NAME), node.getTextData(), node.getString(XML_ATTRIBUTE_DESCRIPTION), path)); } } final IMemento codeFragmentsNode = memento.getChild(XML_NODE_CODE_FRAGMENTS); if (codeFragmentsNode != null) { for (final IMemento node : codeFragmentsNode.getChildren(XML_NODE_CODE_FRAGMENT)) fCodeFragments.put(node.getString(XML_ATTRIBUTE_NAME), node.getTextData()); } final IMemento flagsNode = memento.getChild(XML_NODE_FLAGS); if (flagsNode != null) { for (final IMemento node : flagsNode.getChildren(XML_NODE_FLAG)) setFlag(node.getString(XML_ATTRIBUTE_NAME), node.getTextData()); } final IMemento descriptionNode = memento.getChild(XML_NODE_DESCRIPTION); fDescription = (descriptionNode != null) ? descriptionNode.getTextData() : ""; fDirty = false; } catch (final WorkbenchException e) { } }</code><technical_language>pathVariable anymore, need check/modify</technical_language>

Target:
public void load(final String text) { fTestFiles.clear(); fVariables.clear(); fCodeFragments.clear(); fFlags.clear(); try { final XMLMemento memento = XMLMemento.createReadRoot(new StringReader(text)); final IMemento testsNode = memento.getChild(XML_NODE_TESTFILES); if (testsNode != null) { for (final IMemento node : testsNode.getChildren(XML_NODE_TESTFILE)) fTestFiles.add(node.getTextData()); } final IMemento variablesNode = memento.getChild(XML_NODE_VARIABLES); if (variablesNode != null) { for (final IMemento node : variablesNode.getChildren(XML_NODE_VARIABLE)) { final String pathVariable = node.getString(XML_ATTRIBUTE_PATH); final IPath path = (pathVariable == null) ? Path.ROOT : new Path(pathVariable); fVariables.add(new Variable(node.getString(XML_ATTRIBUTE_NAME), node.getTextData(), node.getString(XML_ATTRIBUTE_DESCRIPTION), path)); } } final IMemento codeFragmentsNode = memento.getChild(XML_NODE_CODE_FRAGMENTS); if (codeFragmentsNode != null) { for (final IMemento node : codeFragmentsNode.getChildren(XML_NODE_CODE_FRAGMENT)) fCodeFragments.put(node.getString(XML_ATTRIBUTE_NAME), node.getTextData()); } final IMemento flagsNode = memento.getChild(XML_NODE_FLAGS); if (flagsNode != null) { for (final IMemento node : flagsNode.getChildren(XML_NODE_FLAG)) setFlag(node.getString(XML_ATTRIBUTE_NAME), node.getTextData()); } final IMemento descriptionNode = memento.getChild(XML_NODE_DESCRIPTION); fDescription = (descriptionNode != null) ? descriptionNode.getTextData() : ""; fDirty = false; } catch (final WorkbenchException e) { } }