Variance provides a general-purpose, custom-wirable junction box for conversion between Java types. Values stored as Variants can be converted freely to any type (provided that a type converter exists between the original type and the target type), and users can add new type converters or override existing conversions.
Immutables allows you to embrace immutablity to tackle complexity and concurrency challenges. To get the benefits of immutability in Java, there's an annotation processor to easily create simple and consistent value objects. You can think of it as Guava's Immutable Collections but for regular objects. It includes support for JSON marshaling, MongoDB repositories, and JAX-RS.