private synchronized long queryCount() {
        for (XmlAttribute decl : myNSDecls) {
            if (!decl.isValid()) {
                return update();
            }
            final Long modCount = decl.getUserData(MOD_COUNT);
            if (modCount != null && decl.getContainingFile().getModificationStamp() != modCount.longValue()) {
                return update();
            }
        }
        final ArrayList<XmlAttribute> list = getNSDecls(false);
        if (!list.equals(myNSDecls)) {
            return update();
        }

        myRootCount = myFile.getModificationStamp();
        return myCount;
    }
private synchronized long queryCount()