@Override
    public <T> Optional<T> getMetadata(@NonNull NodeMetadataKey<T> key) {
        //noinspection unchecked
        T value = (T) this.metadata.get(key);
        return Optional.ofNullable(value);
    }
The character which separates each part of a permission node
common/src/main/java/me/lucko/luckperms/common/node/AbstractNode.java