public static Getter newMethodGetter(Object object, Getter parent, Method method, String modifier) throws Exception {
        return newGetter(object, parent, modifier, method.getReturnType(), method::invoke,
                (t, et) -> new MethodGetter(parent, method, modifier, t, et));
    }
@Test
    public void newMethodGetter_whenExtractingFromNonEmpty_Collection_FieldAndParentIsNonEmptyMultiResult_nullValueFirst_thenInferReturnType()
            throws Exception {
        OuterObject object = new OuterObject("name", new InnerObject("inner", null, 0, 1, 2, 3));

        Getter parentGetter = GetterFactory.newMethodGetter(object, null, innersCollectionMethod, "[any]");
        Getter innerObjectNameGetter
                = GetterFactory.newMethodGetter(object, parentGetter, innerAttributesCollectionMethod, "[any]");

        Class<?> returnType = innerObjectNameGetter.getReturnType();
        assertEquals(Integer.class, returnType);
    }