def new_array(state, element_type, size, default_value_generator=None):
        """
        Allocates a new multi array in memory and returns the reference to the base.
        """
        size_bounded = SimSootExpr_NewMultiArray._bound_multi_array_size(state, size)
        # return the reference of the array base
        # => elements getting lazy initialized in the javavm memory
        return SimSootValue_ArrayBaseRef(heap_alloc_id=state.javavm_memory.get_new_uuid(),
                                         element_type=element_type,
                                         size=size_bounded,
                                         default_value_generator=default_value_generator)
Allocates a new multi array in memory and returns the reference to the base.