@Override
    public DescriptiveUrl toDownloadUrl(final Path file, final Sharee sharee, final ShareCreationRequestModel options, final PasswordCallback callback) throws BackgroundException {
        return this.toGuestUrl(file, options, callback);
    }
@Test(expected = InteroperabilityException.class)
    public void testInvalidPin() throws Exception {
        final EueResourceIdProvider fileid = new EueResourceIdProvider(session);
        final Path sourceFolder = new EueDirectoryFeature(session, fileid).mkdir(new Path(new AlphanumericRandomStringService().random(), EnumSet.of(Path.Type.directory)), new TransferStatus());
        final EueShareFeature feature = new EueShareFeature(session, fileid);
        try {
            feature.toDownloadUrl(sourceFolder, Share.Sharee.world, null, new DisabledPasswordCallback() {
                @Override
                public Credentials prompt(final Host bookmark, final String title, final String reason, final LoginOptions options) {
                    return new Credentials(null, "test");
                }
            });
        }
        catch(InteroperabilityException e) {
            assertEquals("Pin does not match pin policy. Please contact your web hosting service provider for assistance.", e.getDetail());
            throw e;
        }
        finally {
            new EueDeleteFeature(session, fileid).delete(Collections.singletonList(sourceFolder), new DisabledPasswordCallback(), new Delete.DisabledCallback());
        }
    }