SVNDebugLog.getDefaultLog().info(new String(bos.toByteArray()));
    public void displayPropDiff(String path, Map baseProps, Map diff, OutputStream result) throws SVNException {        baseProps = baseProps != null ? baseProps : Collections.EMPTY_MAP;        diff = diff != null ? diff : Collections.EMPTY_MAP;        SVNDebugLog.getDefaultLog().info("propdiff, was: " + baseProps+ ", diff: " + diff);        for (Iterator changedPropNames = diff.keySet().iterator(); changedPropNames.hasNext();) {            String name = (String) changedPropNames.next();            String originalValue = (String) baseProps.get(name);            String newValue = (String) diff.get(name);            if ((originalValue != null && originalValue.equals(newValue)) || originalValue == newValue) {                changedPropNames.remove();            }        }        if (diff.isEmpty()) {            return;        }        path = getDisplayPath(path);        ByteArrayOutputStream bos = new ByteArrayOutputStream();        SVNDebugLog.getDefaultLog().info("propdiff, was: " + baseProps+ ", diff: " + diff);        diff = new TreeMap(diff);        try {            bos.write(EOL);            bos.write(("Property changes on: " + path.replace('/', File.separatorChar)).getBytes(getEncoding()));            bos.write(EOL);            bos.write(PROPERTIES_SEPARATOR);            bos.write(EOL);            for (Iterator changedPropNames = diff.keySet().iterator(); changedPropNames.hasNext();) {                String name = (String) changedPropNames.next();                String originalValue = baseProps != null ? (String) baseProps.get(name) : null;                String newValue = (String) diff.get(name);                bos.write(("Name: " + name).getBytes(getEncoding()));                bos.write(EOL);                if (originalValue != null) {                    bos.write("   - ".getBytes(getEncoding()));                    bos.write(originalValue.getBytes(getEncoding()));                    bos.write(EOL);                }                if (newValue != null) {                    bos.write("   + ".getBytes(getEncoding()));                    bos.write(newValue.getBytes(getEncoding()));                    bos.write(EOL);                }             }            bos.write(EOL);        } catch (IOException e) {            SVNErrorMessage err = SVNErrorMessage.create(SVNErrorCode.IO_ERROR, e.getLocalizedMessage());            SVNErrorManager.error(err, e);        } finally {            try {                bos.close();                bos.writeTo(result);                SVNDebugLog.getDefaultLog().info(new String(bos.toByteArray()));            } catch (IOException e) {            }        }    }