class URIResource extends AbstractResource {

    public URIResource(String path, URI uri) {
        super(path, uri);
    }

    /**
     * Cannot determine if the URI exists, return true
     */
    @Override
    public boolean exists() {
        return true;
    }

    @Override
    public Resource resolve(String other) {
        return new URIResource(resolvePath(other), URI.create(getUri().toString() + "/" + other));
    }

    @Override
    public Resource resolveSibling(String other) {<FILL_FUNCTION_BODY>}

    @Override
    public InputStream openInputStream() throws IOException {
        return getUri().toURL().openStream();
    }
}

        return new URIResource(resolveSiblingPath(other), URI.create(getUri().toString().replaceFirst("/[^/]*$", "") + "/" + other));
    
<methods>public void <init>(java.lang.String, java.net.URI) ,public boolean equals(java.lang.Object) ,public java.lang.String getPath() ,public java.net.URI getUri() ,public int hashCode() ,public boolean isWritable() ,public java.io.OutputStream openOutputStream(liquibase.resource.OpenOptions) throws java.io.IOException,public java.lang.String toString() <variables>private final non-sealed java.lang.String path,private final non-sealed java.net.URI uri