code: @Override
    public <T> long insertObjects(Collection<T> coll) throws CpoException {
      return getCurrentResource().insertObjects(coll);
    }
docs: Iterates through a collection of Objects, creates and stores them in the datasource. The assumption is that the
  objects contained in the collection do not exist in the datasource.
  <p>
  This method creates and stores the objects in the datasource. The objects in the collection will be treated as one
  transaction, assuming the datasource supports transactions.
  <p>
  This means that if one of the objects fail being created in the datasource then the CpoAdapter will stop processing
  the remainder of the collection and rollback all the objects created thus far. Rollback is on the underlying
  datasource's support of rollback.
  <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);
  }
  <p>
  try{
  cpo.insertObjects(al);
  } catch (CpoException ce) {
  // Handle the error
  }
  }
  </code>
  </pre>
  
  @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 The number of objects created in the datasource
  @throws CpoException Thrown if there are errors accessing the datasource