skip empty paths / add EnsureDelimiter()