protected OMNode createNextOMElement()

in src/org/jetbrains/tfsIntegration/webservice/compatibility/CustomStAXSOAPModelBuilder.java [163:193]


    protected OMNode createNextOMElement() {
        OMNode newElement = null;


        if (elementLevel == 3 &&
            customBuilderForPayload != null) {

            OMNode parent = lastNode;
            if (parent != null && parent.isComplete()) {
                parent = (OMNode) lastNode.getParent();
            }
            if (parent instanceof SOAPBody) {
                newElement = createWithCustomBuilder(customBuilderForPayload,  soapFactory);
            }
        }
        if (newElement == null && customBuilders != null &&
                elementLevel <= maxDepthForCustomBuilders) {
            String namespace = parser.getNamespaceURI();
            String localPart = parser.getLocalName();
            CustomBuilder customBuilder = getCustomBuilder(namespace, localPart);
            if (customBuilder != null) {
                newElement = createWithCustomBuilder(customBuilder, soapFactory);
            }
        }
        if (newElement == null) {
            newElement = createOMElement();
        } else {
            elementLevel--; // Decrease level since custom builder read the end element event
        }
        return newElement;
    }