'Add a new node element. Each item is required to have a
nodeId, but may also specify a sourceId value and cacheType.
Arguments:
nodeId  -- The ID for the node.
sourceId  -- [optional] identifying the data source controlling the device
cacheType -- [optional] narrowing down the search to a specific kind of node'

def add_node(self, nodeId, sourceId=None, cacheType=None, substanzas=None):

    if (nodeId not in self._nodes):
        self._nodes.add(nodeId)
        node = FieldsNode(parent=self)
        node['nodeId'] = nodeId
        node['sourceId'] = sourceId
        node['cacheType'] = cacheType
        if (substanzas is not None):
            node.set_timestamps(substanzas)
        self.iterables.append(node)
        return node
    return None
