@Override
    @Nullable
    public IdentifiedDataSerializable create(int typeId) {
        if (typeId >= 0 && typeId < len) {
            Supplier<IdentifiedDataSerializable> factory = constructors[typeId];
            return factory != null ? factory.get() : null;
        }
        return null;
    }
@Test
    public void testCreateWithoutVersion() {
        Supplier<IdentifiedDataSerializable>[] constructorFunctions = new Supplier[1];
        Supplier<IdentifiedDataSerializable> function = mock(Supplier.class);
        constructorFunctions[0] = function;

        ArrayDataSerializableFactory factory = new ArrayDataSerializableFactory(constructorFunctions);
        factory.create(0);

        verify(function, times(1)).get();
    }