code: public void mergeConnectionRepository(
              ConnectionRepository targetRepository, ConnectionRepository sourceRepository, boolean deep)
      {
          List list = sourceRepository.getAllDescriptor();
          for (Iterator iterator = list.iterator(); iterator.hasNext();)
          {
              JdbcConnectionDescriptor jcd = (JdbcConnectionDescriptor) iterator.next();
              if (deep)
              {
                  //TODO: adopt copy/clone methods for metadata classes?
                  jcd = (JdbcConnectionDescriptor) SerializationUtils.clone(jcd);
              }
              targetRepository.addDescriptor(jcd);
          }
      }
docs: Merge the given source {@link ConnectionRepository} with the
  existing target. If parameter
  <tt>deep</tt> is set <code>true</code> deep copies of source objects were made.
  <br/>
  Note: Using <tt>deep copy mode</tt> all descriptors will be serialized
  by using the default class loader to resolve classes. This can be problematic
  when classes are loaded by a context class loader.
  <p>
  Note: All classes within the repository structure have to implement
  <code>java.io.Serializable</code> to be able to create a cloned copy.