// Generated by delombok at Sat Jun 11 11:12:44 CEST 2016 public class RequiredArgsConstructorWithGeneric136<T> { private static class Foo<T> { private final T object; private final int i; static <T> Foo<T> of(T object, int i) { return new Foo<T>(object, i); } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public T getObject() { return this.object; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public int getI() { return this.i; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") private Foo(final T object, final int i) { this.object = object; this.i = i; } @java.lang.SuppressWarnings("all") @javax.annotation.Generated("lombok") public static <T> Foo<T> of2(final T object, final int i) { return new Foo<T>(object, i); } } private <D> Foo<D> createFoo(D t, int i) { return new Foo<>(t, i); } public static void main(String[] args) { Foo<String> stringFoo = new Foo<>("", 2); Foo<String> foo1 = Foo.of("String2", 123); Foo<String> foo2 = Foo.of2("String2", 4423); System.out.println(stringFoo); System.out.println(foo1); System.out.println(foo2); } }