### Question:
ReleaseUtil { public static void release(final EdsdkLibrary.EdsBaseRef.ByReference... refs) { if (refs != null) for (final EdsdkLibrary.EdsBaseRef.ByReference byReference : refs) { if (byReference != null) release(byReference.getValue()); } } private  ReleaseUtil(); static void release(final EdsdkLibrary.EdsBaseRef.ByReference... refs); static void release(final EdsdkLibrary.EdsBaseRef... refs); static void release(final EdsdkLibrary.EdsBaseRef ref);  }### Answer:
@Test void release() { final EdsBaseRef.ByReference byReference = new EdsBaseRef.ByReference(); ReleaseUtil.release(byReference); ReleaseUtil.release((EdsBaseRef.ByReference) null, null); ReleaseUtil.release((EdsBaseRef.ByReference) null); }
@Test void release1() { final EdsBaseRef edsBaseRef = new EdsBaseRef(); when(CanonFactory.edsdkLibrary().EdsRelease(edsBaseRef)) .thenReturn(new NativeLong(0)) .thenReturn(new NativeLong(-1)); ReleaseUtil.release(edsBaseRef, edsBaseRef); ReleaseUtil.release((EdsBaseRef) null, (EdsBaseRef) null); }
@Test void release2() { final EdsBaseRef edsBaseRef = new EdsBaseRef(); when(CanonFactory.edsdkLibrary().EdsRelease(edsBaseRef)) .thenReturn(new NativeLong(0)); ReleaseUtil.release(edsBaseRef); ReleaseUtil.release((EdsBaseRef) null); }