### Question:
BundleImpl implements Bundle { @Override public Enumeration<String> getEntryPaths(final String path) { if (includedResources != null) { return enumeration(includedResources.stream() .filter(it -> it.startsWith(path)) .collect(toList())); } if (file.isDirectory()) { final Path base = file.toPath().toAbsolutePath(); final Path subPath = new File(file, path == null ? "" : (path.startsWith("/") ? path.substring(1) : path)).toPath(); final Collection<String> paths = new ArrayList<>(); try { Files.walkFileTree(subPath, new SimpleFileVisitor<Path>() { @Override public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException { if (file.toAbsolutePath().toString().startsWith(base.toString())) { paths.add(base.relativize(file).toString()); } return super.visitFile(file, attrs); } }); } catch (final IOException e) { throw new IllegalStateException(e); } return enumeration(paths); } try (final JarFile jar = new JarFile(file)) { return enumeration(list(jar.entries()).stream() .filter(it -> it.getName().startsWith(path)) .map(ZipEntry::getName) .collect(toList())); } catch (final IOException e) { throw new IllegalArgumentException(e); } } BundleImpl(final Manifest manifest, final File file, final BundleContextImpl context,
               final Ripener.Configuration configuration, final long id,
               final Collection<String> includedResources); @Override int getState(); @Override void start(final int options); @Override void start(); @Override void stop(final int options); @Override void stop(); @Override void update(final InputStream input); @Override void update(); @Override void uninstall(); @Override Dictionary<String, String> getHeaders(); @Override long getBundleId(); @Override String getLocation(); @Override ServiceReference<?>[] getRegisteredServices(); @Override ServiceReference<?>[] getServicesInUse(); @Override boolean hasPermission(final Object permission); @Override URL getResource(final String name); @Override Dictionary<String, String> getHeaders(final String locale); @Override String getSymbolicName(); @Override Class<?> loadClass(final String name); @Override Enumeration<URL> getResources(final String name); @Override Enumeration<String> getEntryPaths(final String path); @Override URL getEntry(final String path); @Override long getLastModified(); @Override Enumeration<URL> findEntries(final String path, final String filePattern, final boolean recurse); @Override BundleContext getBundleContext(); @Override Map<X509Certificate, List<X509Certificate>> getSignerCertificates(final int signersType); @Override Version getVersion(); @Override A adapt(final Class<A> type); @Override File getDataFile(final String filename); @Override int compareTo(final Bundle o); @Override String toString();  }### Answer:
@Test void getEntryPaths() { final Enumeration<String> entries = bundle.getEntryPaths("org/apache/winegrower/test/simpleservice/META-INF"); assertTrue(entries.hasMoreElements()); assertEquals("org/apache/winegrower/test/simpleservice/META-INF/MANIFEST.MF", entries.nextElement()); assertFalse(entries.hasMoreElements()); }