title: Traverse (Read) static DOM document object is thread-safe or not?
body: <p>I created a DOM document static object, such as below, it uses javax.xml.parsers.* and org.w3c.dom.* API:</p>
  
  <pre><code>        DocumentBuilderFactory docBldrFactry = DocumentBuilderFactory.newInstance();
          docBldrObj = docBldrFactry.newDocumentBuilder();
  
          File file = new File(fileDirectory);
          // Parse the XML file and return a DOM document object
  
          document = docBldrObj.parse(file);
          //FYI, document is declared as private static org.w3c.dom.Document document elsewhere. 
  </code></pre>
  
  <p>Later after created above, If this static DOM document object shared by threads, but all threads are just read (traverse) this document, is it thread safe?</p>
  
  <p>I assume it is since read should not modify this shared state, but not sure whether internally there is some magic about it which I don't know.</p>
  
  <p>Thanks</p>