@SuppressWarnings("unchecked")
    @Override
    public <T> @NonNull PlayerAdapter<T> getPlayerAdapter(@NonNull Class<T> playerClass) {
        Objects.requireNonNull(playerClass, "playerClass");
        Class<?> expectedClass = this.plugin.getContextManager().getPlayerClass();
        if (!expectedClass.equals(playerClass)) {
            throw new IllegalArgumentException("Player class " + playerClass.getName() + " does not equal " + expectedClass.getName());
        }
        return (PlayerAdapter<T>) this.playerAdapter;
    }
Implements the LuckPerms API using the plugin instance
common/src/main/java/me/lucko/luckperms/common/api/LuckPermsApiProvider.java