package cucumber.runtime.io;

import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import static io.cucumber.core.model.Classpath.CLASSPATH_SCHEME_PREFIX;

class ZipResource implements Resource {
    private final ZipFile jarFile;
    private final ZipEntry jarEntry;

    ZipResource(ZipFile jarFile, ZipEntry jarEntry) {
        this.jarFile = jarFile;
        this.jarEntry = jarEntry;
    }

    @Override
    public URI getPath() {
        return URI.create(CLASSPATH_SCHEME_PREFIX + "/" + jarEntry.getName());
    }

    @Override
    public InputStream getInputStream() throws IOException {
        return jarFile.getInputStream(jarEntry);
    }

}

package cucumber.runtime.io;

import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

import static io.cucumber.core.model.Classpath.CLASSPATH_SCHEME_PREFIX;

class ZipResource implements Resource {
    private final ZipFile jarFile;
    private final ZipEntry jarEntry;

    ZipResource(ZipFile jarFile, ZipEntry jarEntry) {
        this.jarFile = jarFile;
        this.jarEntry = jarEntry;
    }

    @Override
    public URI getPath() {
        return URI.create(CLASSPATH_SCHEME_PREFIX + jarEntry.getName());
    }

    @Override
    public InputStream getInputStream() throws IOException {
        return jarFile.getInputStream(jarEntry);
    }

}

Fix filtering scenarios loaded from jar
[Core] Fix filtering scenarios loaded from jar

I am running cucumber tests with features loaded from classpath:, like this:

```
java -cp fatjar.jar cucumber.api.cli.Main "classpath:features/FeatureWithExamples.feature:64"
```

However, when cucumber parses this path and creates a ZipResource from it, it adds an extra slash. This becomes a problem down the line, when LinePredicate tries to filter out the pickles. Instead of filtering the pickles out, it just lets all of the though the filter.

Changed the ZipResource to preserve the original path of the zipped entity.