/**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#loadAdministrators(SecurityContext, AgentEventListener)
  */
 public CallHandle changeGroup(
     SecurityContext ctx,
     GroupData group,
     ExperimenterData experimenter,
     AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, group, experimenter);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#updateExperimenters(SecurityContext, Map, AgentEventListener)
  */
 public CallHandle updateExperimenters(
     SecurityContext ctx,
     GroupData group,
     Map<ExperimenterData, UserCredentials> experimenters,
     AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, group, experimenters);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#uploadExperimenterPhoto(SecurityContext, ExperimenterData, File, String
  *     AgentEventListener)
  */
 public CallHandle uploadExperimenterPhoto(
     SecurityContext ctx,
     ExperimenterData experimenter,
     File photo,
     String format,
     AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, experimenter, photo, format);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#getDiskSpace(SecurityContext, Class, long, AgentEventListener)
  */
 public CallHandle getDiskSpace(
     SecurityContext ctx, Class type, long id, AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, type, id);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#changePassword(SecurityContext, String, String, AgentEventListener)
  */
 public CallHandle changePassword(
     SecurityContext ctx, String oldPassword, String newPassword, AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, oldPassword, newPassword);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#updateGroup(SecurityContext, GroupData, int, AgentEventListener)
  */
 public CallHandle updateGroup(
     SecurityContext ctx, GroupData group, int permissions, AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, group, permissions);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#updateExperimenter(SecurityContext, ExperimenterData, AgentEventListener)
  */
 public CallHandle updateExperimenter(
     SecurityContext ctx, ExperimenterData exp, AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, exp, AdminLoader.EXPERIMENTER_UPDATE);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#loadExperimenterPhoto(SecurityContext, ExperimenterData, AgentEventListener)
  */
 public CallHandle loadExperimenterPhoto(
     SecurityContext ctx, ExperimenterData experimenter, AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, experimenter, AdminLoader.EXPERIMENTER_PHOTO);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#activateExperimenters(SecurityContext, AdminObject, AgentEventListener)
  */
 public CallHandle activateExperimenters(
     SecurityContext ctx, AdminObject object, AgentEventListener observer) {
   BatchCallTree cmd = new AdminSaver(ctx, object);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#deleteObjects(SecurityContext, List, AgentEventListener)
  */
 public CallHandle deleteObjects(
     SecurityContext ctx, List<DataObject> objects, AgentEventListener observer) {
   BatchCallTree cmd = new AdminSaver(ctx, objects, AdminSaver.DELETE);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#loadExperimenters(SecurityContext, long, AgentEventListener)
  */
 public CallHandle loadExperimenters(
     SecurityContext ctx, long groupID, AgentEventListener observer) {
   BatchCallTree cmd = new AdminLoader(ctx, groupID, AdminLoader.EXPERIMENTERS);
   return cmd.exec(observer);
 }
 /**
  * Implemented as specified by the {@link AdminView} interface.
  *
  * @see AdminView#createGroup(SecurityContext, AdminObject, AgentEventListener)
  */
 public CallHandle createGroup(
     SecurityContext ctx, AdminObject object, AgentEventListener observer) {
   BatchCallTree cmd = new AdminSaver(ctx, object);
   return cmd.exec(observer);
 }