drools-eclipse/org.guvnor.eclipse.webdav/src/interface/org/eclipse/webdav/dom/Bindings.java
public Enumeration getBindings() throws MalformedElementException {

        final Node firstHref = getFirstChild(root, "href"); //$NON-NLS-1$
        Node segment = null;
        if (firstHref != null)
            segment = getNextSibling((Element) firstHref, "segment"); //$NON-NLS-1$

        final Node firstSegment = segment;

        Enumeration e = new Enumeration() {
            Node fCurrentHref = firstHref;
            Node fCurrentSegment = firstSegment;

            public boolean hasMoreElements() {

                return fCurrentHref != null && fCurrentSegment != null;
            }

            public Object nextElement() {

                if (!hasMoreElements())
                    throw new NoSuchElementException();

                String nextHref = getFirstText((Element) fCurrentHref);
                String nextSegment = getFirstText((Element) fCurrentSegment);
                Binding nextBinding = new Binding(decodeHref(nextHref), nextSegment);

                fCurrentHref = getNextSibling((Element) fCurrentSegment, "href"); //$NON-NLS-1$
                fCurrentSegment = null;
                if (fCurrentHref != null)
                    fCurrentSegment = getNextSibling((Element) fCurrentHref, "segment"); //$NON-NLS-1$

                return nextBinding;
            }
        };

        return e;
    }
public Enumeration getBindings() throws MalformedElementException {

        final Node firstHref = getFirstChild(root, "href"); //$NON-NLS-1$
        Node segment = null;
        if (firstHref != null)
            segment = getNextSibling((Element) firstHref, "segment"); //$NON-NLS-1$

        final Node firstSegment = segment;

        Enumeration e = new Enumeration() {
            Node fCurrentHref = firstHref;
            Node fCurrentSegment = firstSegment;

            public boolean hasMoreElements() {

                return fCurrentHref != null && fCurrentSegment != null;
            }

            public Object nextElement() {

                if (!hasMoreElements())
                    throw new NoSuchElementException();

                String nextHref = getFirstText((Element) fCurrentHref);
                String nextSegment = getFirstText((Element) fCurrentSegment);
                Binding nextBinding = new Binding(decodeHref(nextHref), nextSegment);

                fCurrentHref = getNextSibling((Element) fCurrentSegment, "href"); //$NON-NLS-1$
                fCurrentSegment = null;
                if (fCurrentHref != null)
                    fCurrentSegment = getNextSibling((Element) fCurrentHref, "segment"); //$NON-NLS-1$

                return nextBinding;
            }
        };

        return e;
    }
Returns an <code>Enumeration</code> over this bindings
<code>Binding</code>s.

@return an <code>Enumeration</code> of <code>Bindings.Binding</code>s
@throws MalformedElementException if there is reason to believe that
this editor's underlying element is not well formed