public void findRecordN(GeneralizedNode<Node<String>> generalizedNode) {

        /* Get all the components of given generalized node */
        Iterator<Node<String>> gi = generalizedNode.iterator();
        boolean similarChildren = false;
        while (gi.hasNext()) {
            Node<String> tagNode = gi.next();
            
            if (gi.hasNext()) {/* if this is not the last tagnode */
                Node<String> nextTagNode = tagNode.getNextSibling();
                if (tagNode.getChildrenSize() != nextTagNode.getChildrenSize()) {
                    /* generalized node itself is data record */
                    //generalizedNode.dataRecordIndecator = DataRecordIndecator.SELF;
                    similarChildren = false;
                    break;/*no need to test further, g is data record itself*/
                }
            }
            Iterator<Node<String>> childIter = tagNode.getChildren().iterator();
            if (childIter.hasNext()) {
                /*
                 * at least one child
                 */
                Node<String> child = childIter.next();
                if (!childIter.hasNext()) {
                    /*
                     * single child, treat as all child similar
                     */
                    similarChildren = true;
                } else {/*more than one child available*/
                    Node<String> nextChild = childIter.next();
                    if (child.toPreOrderString().equalsIgnoreCase(nextChild.toPreOrderString())) {
                        similarChildren = true;
                        while (childIter.hasNext()) {
                            child = nextChild;
                            nextChild = childIter.next();
                            if (child.toPreOrderString().equalsIgnoreCase(
                                    nextChild.toPreOrderString())) {
                                similarChildren = true;
                            } else {
                                similarChildren = false;
                                break;// no need to check further, treat as non
                                      // similar
                            }
                        }
                    }
                }
            }
        }
        if (similarChildren) {
            /*
             * records are non contiguous just indicate this on 
             * generalized node, the same should be assumed for remaining
             * generalized node
             */
            generalizedNode.dataRecordIndecator = DataRecordIndecator.CHILD_NON_CONT;

        } else {
            generalizedNode.dataRecordIndecator = DataRecordIndecator.SELF;
        }
    }