There are places where Sun wanted to make it very easy for third parties to write code and add it into the Sun
package seamlessly as if it were totally built-in. Examples would include JDBC (Java Data Base Connectivity) drivers and encryption code. They
typically do this with a factory method that you pass the name of the provider of the
software or the name of the specific implementation as a String. It then returns a delegate object that
implements that particular version of the software.