default String getNameWithLocation() {
        String name = getName();

        ContextManager<?, ?> contextManager = getPlugin().getContextManager();
        if (contextManager == null) {
            return name;
        }

        ImmutableContextSet staticContext = contextManager.getStaticContext();

        String location;
        if (staticContext.isEmpty()) {
            return name;
        } else if (staticContext.size() == 1) {
            location = staticContext.iterator().next().getValue();
        } else {
            Set<String> servers = staticContext.getValues(DefaultContextKeys.SERVER_KEY);
            if (servers.size() == 1) {
                location = servers.iterator().next();
            } else {
                location = staticContext.toSet().stream().map(pair -> pair.getKey() + "=" + pair.getValue()).collect(Collectors.joining(";"));
            }
        }

        return name + "@" + location;
    }
Gets a string representing the senders username, and their current location
within the network.

@return a friendly identifier for the sender
common/src/main/java/me/lucko/luckperms/common/sender/Sender.java