@Override
    public void close(final InputStream in) throws BackgroundException {
        if(null == in) {
            return;
        }
        try {
            in.close();
        }
        catch(IOException e) {
            if(e.getCause() instanceof BackgroundException) {
                throw (BackgroundException) e.getCause();
            }
            throw new DefaultIOExceptionMappingService().map(e);
        }
    }
@Test(expected = InteroperabilityException.class)
    public void testClose() throws Exception {
        new DefaultStreamCloser().close(new HttpResponseOutputStream<Void>(NullOutputStream.NULL_OUTPUT_STREAM,
                new VoidAttributesAdapter(),
                new TransferStatus()) {
            @Override
            public Void getStatus() throws BackgroundException {
                throw new InteroperabilityException("d");
            }
        });
    }