/**
  * Detach the specified objects from the <code>PersistenceManager</code>.
  *
  * @param pcs the instances to detach
  * @return the detached instances
  * @see #detachCopyAll(Object[])
  */
 public synchronized Collection detachCopyAll(Collection pcs) {
   checkStatus();
   return pm.detachCopyAll(pcs);
 }
 /**
  * Detach the specified objects from the <code>PersistenceManager</code>. The objects returned can
  * be manipulated and re-attached with {@link #makePersistentAll(Object[])}. The detached
  * instances will be unmanaged copies of the specified parameters, and are suitable for
  * serialization and manipulation outside of a JDO environment. When detaching instances, only
  * fields in the current {@link FetchPlan} will be traversed. Thus, to detach a graph of objects,
  * relations to other persistent instances must either be in the <code>default-fetch-group</code>,
  * or in the current custom {@link FetchPlan}.
  *
  * @param pcs the instances to detach
  * @return the detached instances
  * @throws javax.jdo.JDOUserException if any of the instances do not
  * @see #makePersistentAll(Object[])
  * @see #getFetchPlan
  */
 public synchronized Object[] detachCopyAll(Object... pcs) {
   checkStatus();
   return pm.detachCopyAll(pcs);
 }