@Override
    public Write.Append append(final Path file, final TransferStatus status) throws BackgroundException {
        if(status.getLength() == TransferStatus.UNKNOWN_LENGTH) {
            return new Write.Append(false).withStatus(status);
        }
        return new Write.Append(status.isExists()).withStatus(status);
    }
@Test
    public void testAppendZeroBytes() throws Exception {
        final DAVUploadFeature feature = new DAVUploadFeature(session);
        final Path test = new DAVTouchFeature(session).touch(new Path(new DefaultHomeFinderService(session).find(), new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.file)), new TransferStatus());
        assertTrue(feature.append(test, new TransferStatus().exists(true).withLength(0L).withRemote(new DAVAttributesFinderFeature(session).find(test))).append);
        new DAVDeleteFeature(session).delete(Collections.singletonList(test), new DisabledLoginCallback(), new Delete.DisabledCallback());
    }