¿Cómo obtener la ruta real con ACTION_OPEN_DOCUMENT_TREE Intent?

Mi aplicación descarga y descomprime un archivo en una carpeta específica:

output = new FileOutputStream(realpath, true);
output.write(buffer, 0, bytesRead);

ZipFile zipFile = new ZipFile(realpath);

Con el nuevo introducidoACTION_OPEN_DOCUMENT_TREE Intención, me gustaría ofrecer al usuario que elija esa carpeta.

Al probar los valores recibidos en mionActivityResult, Me sale un camino como/tree/primary:mynewfolder, que no es el camino físico real como/sdcard/mynewfolder.

Uri treeUri = data.getData();
String sPath = treeUri.getPath();
Log.v("Path from Tree ", sPath);

Mi método de descompresión necesita la ruta real:

ZipFile zipFile = new ZipFile(realpath);

¿Cómo consigo el camino real como/sdcard/mynewfolder del URI proporcionado en Lollipop (API 21 y 22)?

Respuestas a la pregunta(1)

Su respuesta a la pregunta