function(url){
var m = ListHelper.fromMap(EncodingHelper.decomposeUrl(url))
if ('path' in m){
m.pathParts = m.path.split('/');
}
if ('query' in m){
var ps = m.query.split('&');
var params = {};
_.forEach(function(ps){
var parts = ps.split('=');
if (_.size(parts > 1)){
var k = urlDecode(parts[0]);
var v = _.drop(parts,1).join('=');
} else {
params[k] = urlDecode(v);
}
});
m.params = params;
}
return m;
}