title: Best practice for controlling access to a ".internal" package
body: <p>I write Eclipse plugins and export some classes as an API while wanting to restrict access to other classes. </p>
  
  <p>I follow the common Eclipse practice of separating these classes into a ".internal" subpackage.</p>
  
  <p>However, then I can't use "package" or default level access on these classes since many of them need to be used by the classes I'm exporting.</p>
  
  <p>What is the best practice for preventing or discouraging users of my API from using these classes for their own purposes? Is there an automatic checker? </p>
  
  <p>I admit that I've dabbled in using some of Eclipse's internal classes when I had no choice :)</p>
  
  <p>Clarification: I have a similar need with non-plugin code.</p>