title: Nested classes and good practices
body: <p>I'm considering using nested classes in my class. I have a class called <code>ServerConfiguration</code> and I have two classes closely related to it: a builder and a provider.</p>
  
  <p>All of the classes are in separate places:</p>
  
  <ul>
  <li><code>hosting.core.server.ServerConfiguration</code></li>
  <li><code>hosting.core.server.server_configuration.Provider</code></li>
  <li><code>hosting.core.server.server_configuration.Builder</code></li>
  </ul>
  
  <p>the question is if should I add them as nested (static) classes to the <code>ServerConfiguration</code> or keep it as is?</p>
  
  <p>The <code>ServerConfiguration</code> class is very simple and adding 2 extra classes will make it more complicated.
  On the other hand, it's more readable to me to have code</p>
  
  <pre><code>private ServerConfiguration.Builder getBuilder()
      {
          return new ServerConfiguration.Builder();
      }
  </code></pre>
  
  <p>instead of </p>
  
  <pre><code>private Builder getBuilder()
      {
          return new Builder();
      }
  </code></pre>
  
  <p>what do you think?</p>