Comparador de mapeamento com segurança nula usando implementações padrão

Existe uma possibilidade incorporada de criar um comparador de mapeamento com segurança nula no Java 8 sem gravar uma própria implementação deComparator?

Ao executar o código a seguir, ele causa um NPE porque okeyExtractor argumento deComparator.comparing() pode retornar umnull valor:

public class ToSort
{

    private String sortBy;

    public ToSort(String sortBy)
    {
        this.sortBy = sortBy;
    }

    public String getSortBy()
    {
        return sortBy;
    }

    public static void main(String[] args)
    {
        // mapping comparator
        Comparator<ToSort> comp = Comparator.comparing(ToSort::getSortBy);                          
        SortedSet<ToSort> set = new TreeSet<>(comp);
        ToSort o1 = new ToSort("1");
        ToSort o2 = new ToSort(null);

        set.add(o1);

        System.out.println(set.contains(o2)); //NPE because o2.getSortBy() == null

    }
}

Exceção no encadeamento "main" java.lang.NullPointerException em java.util.Comparator.lambda $ comparando $ 77a9974f $ 1 (Comparator.java:469) em java.util.Comparator $ Lambda $ 2 / 1480010240.compare (Origem desconhecida) em java.util.Comparators $ NullComparator.compare (Comparators.java:83) em java.util.TreeMap.getEntryUsingComparator (TreeMap.java:376) em java.util.TreeMap.getEntry (TreeMap.java:345) em java.util .TreeMap.containsKey (TreeMap.java:232) em java.util.TreeSet.contains (TreeSet.java:234) em test.ToSort.main (ToSort.java:48)

Usando

Comparator<ToSort> comp = Comparator.nullsFirst(Comparator.comparing(ToSort::getSortBy));

também não funcionaToSort objetos que sãonull são pisadas corretamente.

Eu sei escrever meus própriosComparator Estou apenas procurando uma solução mais "elegante" como

Comparator.comparingNullsFirst(ToSort::getSortBy)

questionAnswers(1)

yourAnswerToTheQuestion