public static AbstractDao getInstance(ClientType type) throws DaoInitException {
        switch(type) {
            case GUEST: return new MysqlGuestDao();
            case USER: return new MysqlUserDao();
            case ADMIN: return new MysqlAdminDao();
            default: throw new DaoInitException(type.toString());
        }
    }