Maintains a persistent collection of FileSystemUsers. The user table is read from and written to secondary storage by means of the load() and save() methods. Provides get(), put() and remove() operations for a particular user, and both getUsers() and getUsernames() to enumerate the collection of users.
The UserTable is used directly by the file server implementation and therefore performs no security checks. The FileServer class does not expose the UserTable class itself but instead presents the UserManager interface, discussed below.