a-foundation/src/main/java/com/ajjpj/afoundation/collection/immutable/ABTreeMap.java
@SuppressWarnings ("unchecked")
    public static <K, V> ABTreeMap<K, V> empty (ABTreeSpec spec) {
        return new LeafNode (spec, new Object[0], new Object[0]);
    }
@SuppressWarnings ("unchecked")
    public static <K, V> ABTreeMap<K, V> empty (ABTreeSpec spec) {
        return new LeafNode (spec, new Object[0], new Object[0]);
    }
intentionally not volatile: This class is immutable, so recalculating per thread works