title: How DocumentBuilderFactory#newInstance() is an example of Abstract factory pattern?
body: <p><strong>What is Abstract Factory Pattern :-</strong></p>
  
  <p>It provides a way  where a top level factory encapsulate a group of individual factories that are further able to create the family of related products 
  without specifying their concrete classes. </p>
  
  <p>As per <a href="https://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns">Examples of GoF Design Patterns in Java&#39;s core libraries</a> below is cited as  example of Abstract pattern</p>
  
  <blockquote>
    <p><code>javax.xml.parsers.DocumentBuilderFactory#newInstance()</code></p>
  </blockquote>
  
  <p>But i am not sure how come its following the Abstract Factory Pattern here. </p>
  
  <p>Is <code>DocumentBuilderFactory</code> considered as top level factory which internally
  cotains individual factory i.e <code>DocumentBuilderFactory#newInstance()</code> which is able to create the family of related products without specifying their concrete classes (as it just return the <code>DocumentBuilderFactory</code> not any specific implementation). Is this correct?</p>