code: function updateGroup(connections, options, groupParams, cb) {
    var validate = validation(groupParams);
    function validateParams(cb) {
      validate.has("_id", GROUP_MODEL_NAME_FIELD, GROUP_MODEL_USERS_FIELD, GROUP_MODEL_FORMS_FIELD, GROUP_MODEL_APPS_FIELD, GROUP_MODEL_THEMES_FIELD, cb);
    }
    validateParams(function(err) {
      if (err) {
        return cb(err);
      }
      var conn = connections.mongooseConnection;
      var groupsModel = models.get(conn, models.MODELNAMES.GROUPS);
  
      groupsModel.findOne({_id:groupParams._id}).exec(function(err, group) {
        if (err) {
          return cb(err);
        }
        if (!group) {
          return cb(new Error('group not found'));
        } else {
          group.name = groupParams.name;
          group.users = groupParams.users;
          group.forms = groupParams.forms;
          group.apps = groupParams.apps;
          group.themes = groupParams.themes;
          group.save(function(err, group) {
            if (err) {
              return cb(err);
            }
            return cb(undefined, group.toJSON());
          });
        }
      });
    });
  }
docs: /*
  updateGroup(connections, options, group, cb)
  
  connections: {
  mongooseConnection: ...
  }
  
  options: {
  uri:       db connection string,
  userEmail: user email address string
  }
  
  group: {
  _id: id of the group
  name: string
  users: ['userid1', 'userid2', ...]
  forms: ['formid1', 'formid2', ...]
  apps: ['appid1', 'appid2', ...]
  themes: ['themeid1', 'themeid2', ...]
  }
  
  cb  - callback function (err)