class URLFileInput implements FileInput {

    private final URI fileUri;

    public URLFileInput(URI fileUri) {
        // If the full fileUri contains a wildcard the fileUri passed as argument here is the fileUri up to the wildcard
        this.fileUri = fileUri;
    }

    @Override
    public boolean isGlobbed() {
        return false;
    }

    @Override
    public URI uri() {
        return fileUri;
    }

    @Override
    public List<URI> expandUri() throws IOException {<FILL_FUNCTION_BODY>}

    @Override
    public InputStream getStream(URI uri) throws IOException {
        URL url = uri.toURL();
        return url.openStream();
    }

    @Override
    public boolean sharedStorageDefault() {
        return true;
    }
}

        // for URLs listing directory contents is not supported so always return the full fileUri for now
        return Collections.singletonList(this.fileUri);
    
<no_super_class>