src/main/java/autofixture/generators/objects/implementationdetails/InterfaceHandler.java
private Object generateFreshValueFor(final Object proxy, final Method method, final TypeToken<?> returnType) {
    final Optional<Object> freshReturnValue = createReturnValue(fixture, returnType);
    if (freshReturnValue.isPresent()) {
      methodsInvocationResultCache.setFor(proxy, method, freshReturnValue.get());
    }
    return freshReturnValue.orNull();
  }
private Object generateFreshValueFor(final Object proxy, final Method method, final TypeToken<?> returnType) {
    final Optional<Object> freshReturnValue = createReturnValue(fixture, returnType);
    if (freshReturnValue.isPresent()) {
      methodsInvocationResultCache.setFor(proxy, method, freshReturnValue.get());
    }
    return freshReturnValue.orNull();
  }
TODO check case when new X<Integer>().GetValue() and new X<String>().GetValue() afterwards - does this work?