### Question:
PoulpeGroup extends Group { public void removeUsers(List<User> users) { super.getUsers().removeAll(removeThisGroupFromUsers(users)); }  @Override void setUsers(List<User> users); void addUsers(List<User> users); void removeUsers(List<User> users);  }### Answer:
@Test public void testRemoveUsers(){ PoulpeGroup poulpeGroup = new PoulpeGroup(); List<PoulpeUser> users = createPoulpeUsers(); poulpeGroup.setUsers(new ArrayList<User>(users)); List<PoulpeUser> removeUsers = new ArrayList<PoulpeUser>(); final int REMOVE_COUNT = 3; for(int i=0; i<REMOVE_COUNT; i++){ removeUsers.add(users.get(i)); } poulpeGroup.removeUsers(new ArrayList<User>(removeUsers)); for(PoulpeUser u: removeUsers){ assertFalse(poulpeGroup.getUsers().contains(u)); assertFalse(u.getGroups().contains(poulpeGroup)); } }