Forse non ho capito bene ma te la butto lì, magari ti va bene.

Non potresti far implementare ai nodi Comparable<DoubleSupplier> in modo da poter utilizzare getAsDouble() da dentro il compareTo?