private static void removeDependencySubsets(String swcLocation,Map<String,Set<String>> dependencyMap,SwcDependencyInfoImpl depInfo){
  Set<String> removeSet=new HashSet<String>();
  SwcExternalScriptInfo externalInfo=depInfo.getSwcExternalScriptInfo(swcLocation);
  Map<String,Set<String>> externalsBySwc=new HashMap<String,Set<String>>();
  for (  String swcDependLocation : dependencyMap.get(swcLocation)) {
    for (    String swcDependLocation2 : dependencyMap.get(swcLocation)) {
      if (swcDependLocation.equals(swcDependLocation2))       continue;
      Set<String> externalScripts=externalsBySwc.get(swcDependLocation);
      Set<String> externalScripts2=externalsBySwc.get(swcDependLocation2);
      if (externalScripts == null) {
        externalScripts=externalInfo.getExternalScripts(swcDependLocation);
        externalsBySwc.put(swcDependLocation,externalScripts);
      }
      if (externalScripts2 == null) {
        externalScripts2=externalInfo.getExternalScripts(swcDependLocation2);
        externalsBySwc.put(swcDependLocation2,externalScripts2);
      }
      if (externalScripts2.size() > externalScripts.size() && externalScripts2.containsAll(externalScripts)) {
        removeSet.add(swcDependLocation);
        break;
      }
    }
  }
  Set<String> dependencySet=dependencyMap.get(swcLocation);
  dependencySet.removeAll(removeSet);
}

private static void removeDependencySubsets ( String swcLocation , Map < String , Set < String > > dependencyMap , SwcDependencyInfoImpl depInfo ) { Set < String > removeSet = new HashSet < String > ( ) ; SwcExternalScriptInfo externalInfo = depInfo . getSwcExternalScriptInfo ( swcLocation ) ; Map < String , Set < String > > externalsBySwc = new HashMap < String , Set < String > > ( ) ; for ( String swcDependLocation : dependencyMap . get ( swcLocation ) ) { for ( String swcDependLocation2 : dependencyMap . get ( swcLocation ) ) { if ( swcDependLocation . equals ( swcDependLocation2 ) ) continue ; Set < String > externalScripts = externalsBySwc . get ( swcDependLocation ) ; Set < String > externalScripts2 = externalsBySwc . get ( swcDependLocation2 ) ; if ( externalScripts == null ) { externalScripts = externalInfo . getExternalScripts ( swcDependLocation ) ; externalsBySwc . put ( swcDependLocation , externalScripts ) ; } if ( externalScripts2 == null ) { externalScripts2 = externalInfo . getExternalScripts ( swcDependLocation2 ) ; externalsBySwc . put ( swcDependLocation2 , externalScripts2 ) ; } if ( externalScripts2 . size ( ) > externalScripts . size ( ) && externalScripts2 . containsAll ( externalScripts ) ) { removeSet . add ( swcDependLocation ) ; break ; } } } Set < String > dependencySet = dependencyMap . get ( swcLocation ) ; dependencySet . removeAll ( removeSet ) ; }
look at the dependency information and remove swc dependencies that are subsets of other swc dependencies .
