### Question:
DeepCloneHelper { protected static <T> List<Object> doDeepCloneList(List<T> values) { return values.stream() .map(DeepCloneHelper::doDeepCloneListValue) .collect(Collectors.toList()); }  static T deepClone(T instance);  }### Answer:
@Test public void listWithBindableTypesTest() { PowerMockito.when(BindableProxyFactory.getBindableProxy(Obj.class)).thenReturn(new BindableProxyImpl()); Obj obj = new Obj("test"); List<Obj> asList = Arrays.asList(obj); DeepCloneHelper.doDeepCloneList(asList); verifyStatic(BindableProxyFactory.class, times(1)); BindableProxyFactory.getBindableProxy(Obj.class); verifyStatic(BindableProxyFactory.class, times(1)); BindableProxyFactory.getBindableProxy(obj); }
@Test public void listWithoutBindableTypesTest() { PowerMockito.when(BindableProxyFactory.getBindableProxy(any(String.class))).thenReturn(null); String test = "test"; List<String> asList = Arrays.asList(test); DeepCloneHelper.doDeepCloneList(asList); verifyStatic(BindableProxyFactory.class, times(1)); BindableProxyFactory.getBindableProxy(String.class); verifyStatic(BindableProxyFactory.class, times(0)); BindableProxyFactory.getBindableProxy(test); }