private String findBundleNativeCode(String libname, String mappedName, String[] altMappedNames) {
   String path = null;
   if (debug.DEBUG_LOADER) Debug.println("  mapped library name: " + mappedName); // $NON-NLS-1$
   List<String> nativePaths = getNativePaths();
   if (nativePaths.isEmpty()) {
     return null;
   }
   path = findNativePath(nativePaths, mappedName);
   if (path == null) {
     for (int i = 0; i < altMappedNames.length && path == null; i++)
       path = findNativePath(nativePaths, altMappedNames[i]);
   }
   if (path == null) {
     if (debug.DEBUG_LOADER)
       Debug.println("  library does not exist: " + mappedName); // $NON-NLS-1$
     path = findNativePath(nativePaths, libname);
   }
   if (debug.DEBUG_LOADER) Debug.println("  returning library: " + path); // $NON-NLS-1$
   return path;
 }
 public void init(FrameworkListener... listeners) throws BundleException {
   if (listeners != null) {
     if (getEquinoxContainer().getConfiguration().getDebug().DEBUG_SYSTEM_BUNDLE) {
       Debug.println(
           "Initializing framework with framework listeners: " + listeners); // $NON-NLS-1$
     }
     initListeners.addAll(Arrays.asList(listeners));
   } else {
     if (getEquinoxContainer().getConfiguration().getDebug().DEBUG_SYSTEM_BUNDLE) {
       Debug.println("Initializing framework with framework no listeners"); // $NON-NLS-1$
     }
   }
   try {
     ((SystemModule) getModule()).init();
   } finally {
     if (!initListeners.isEmpty()) {
       getEquinoxContainer().getEventPublisher().flushFrameworkEvents();
       removeInitListeners();
     }
   }
 }