code: @Override
    public <T> long persistObjects(String name, Collection<T> coll) throws CpoException {
      return processUpdateGroup(coll, JdbcCpoAdapter.PERSIST_GROUP, name, null, null, null);
    }
docs: Persists a collection of Objects into the datasource. The CpoAdapter will check to see if this object exists in the
  datasource. If it exists, the object is updated in the datasource If the object does not exist, then it is created
  in the datasource. This method stores the object in the datasource. The objects in the collection will be treated
  as one transaction, meaning that if one of the objects fail being inserted or updated in the datasource then the
  entire collection will be rolled back.
  <p/>
  <pre>Example:
  <code>
  <p/>
  class SomeObject so = null;
  class CpoAdapter cpo = null;
  <p/>
  try {
  cpo = new JdbcCpoAdapter(new JdbcDataSourceInfo(driver, url, user, password,1,1,false));
  } catch (CpoException ce) {
  // Handle the error
  cpo = null;
  }
  <p/>
  if (cpo!=null) {
  ArrayList al = new ArrayList();
  for (int i=0; i<3; i++){
  so = new SomeObject();
  so.setId(1);
  so.setName("SomeName");
  al.add(so);
  }
  try{
  cpo.persistObjects("myPersist",al);
  } catch (CpoException ce) {
  // Handle the error
  }
  }
  </code>
  </pre>
  
  @param name The name which identifies which EXISTS, INSERT, and UPDATE Function Groups to execute to persist the
  object.
  @param coll This is a collection of objects that have been defined within the metadata of the datasource. If the
  class is not defined an exception will be thrown.
  @return DOCUMENT ME!
  @throws CpoException Thrown if there are errors accessing the datasource
  @see #existsObject
  @see #insertObject
  @see #updateObject