code: public static Properties getSubProperties (Properties source, String prefix)
      {
          Properties dest = new Properties();
          extractSubProperties(source, dest, prefix);
          return dest;
      }
docs: Extracts all properties from the supplied properties object with the specified prefix,
  removes the prefix from the key for those properties and inserts them into a new properties
  object which is then returned. This is useful for extracting properties from a global
  configuration object that must be passed to a service that expects it's own private
  properties (JDBC for example).
  
  The property file might look like so:
  
  <pre>
  my_happy_param=my_happy_value
  ...
  jdbc.driver=foo.bar.Driver
  jdbc.url=jdbc://blahblah
  jdbc.username=bob
  jdbc.password=is your uncle
  ...
  my_happy_other_param=my_happy_other_value
  </pre>
  
  This can be supplied to <code>getSubProperties()</code> with a prefix of <code>"jdbc"</code>
  and the following properties would be returned:
  
  <pre>
  driver=foo.bar.Driver
  url=jdbc://blahblah
  username=bob
  password=is your uncle
  </pre>