drools-eclipse/org.guvnor.eclipse.webdav/src/interface/org/eclipse/webdav/dom/ElementEditor.java
public static Element getNextSibling(Element element, String[] names) {
        Assert.isTrue(isDAVElement(element));
        Assert.isNotNull(names);
        Node sibling = element.getNextSibling();
        while (sibling != null) {
            for (int i = 0; i < names.length; ++i)
                if (isDAVElement(sibling, names[i]))
                    return (Element) sibling;
            sibling = sibling.getNextSibling();
        }
        return null;
    }
public static Element getNextSibling(Element element, String[] names) {
        Assert.isTrue(isDAVElement(element));
        Assert.isNotNull(names);
        Node sibling = element.getNextSibling();
        while (sibling != null) {
            for (int i = 0; i < names.length; ++i)
                if (isDAVElement(sibling, names[i]))
                    return (Element) sibling;
            sibling = sibling.getNextSibling();
        }
        return null;
    }
Returns the first WebDAV sibling of the given element that has one of
the given names, or <code>null</code> if no such sibling exists.  Only
the sibling's next children (not the previous children) are searched.
The element must not be <code>null</code> and must be a WebDAV element.
The possible names of the sibling to search for must not be
<code>null</code>.

@param element     the element whose sibling is being searched for
@param names       the possible names of the sibling being search for
@return            the sibling with the specified name, or
<code>null</code>