public void loadXML(Node stepnode, List<DatabaseMeta> databases, Map<String, Counter> counters)
			throws KettleXMLException {

		try {
			inputField = XMLHandler.getTagValue(stepnode, "INPUT_FIELD");

			Node classpathNode = XMLHandler.getSubNode(stepnode, "CLASSPATH");
			if (classpathNode != null) {
				int nrfields = XMLHandler.countNodes(classpathNode, "PATH");
				classpath = new String[nrfields];
				for (int i = 0; i < nrfields; ++i) {
					Node pathNode = XMLHandler.getSubNodeByNr(classpathNode, "PATH", i);
					classpath[i] = XMLHandler.getNodeValue(pathNode);
				}
			}

			rootClass = XMLHandler.getTagValue(stepnode, "ROOT_CLASS");

			Node fieldsNode = XMLHandler.getSubNode(stepnode, "FIELDS");
			if (fieldsNode != null) {
				int nrfields = XMLHandler.countNodes(fieldsNode, "FIELD");
				fields = new FieldDefinition[nrfields];
				for (int i = 0; i < nrfields; i++) {
					fields[i] = new FieldDefinition();
					Node fnode = XMLHandler.getSubNodeByNr(fieldsNode, "FIELD", i);
					fields[i].name = XMLHandler.getTagValue(fnode, "NAME");
					fields[i].path = XMLHandler.getTagValue(fnode, "PATH");
					fields[i].type = ValueMeta.getType(XMLHandler.getTagValue(fnode, "TYPE"));
				}
			}
		} catch (Exception e) {
			throw new KettleXMLException(Messages.getString("ProtobufDecodeMeta.Exception.loadXml"), e);
		}
	}