public void addPackage(String jarName, String name) { if (null == jarPackageMap.get(jarName)) { jarPackageMap.put(jarName, new LinkedHashSet<Model>()); } if (name.contains(Model.PACKAGE_SEP)) { String[] pathItems = name.split(Model.PACKAGE_SEP); if (pathItems.length > 1) { Model[] packPath = createPackPath(pathItems); Model rootModel = getPackageRoot(jarName, pathItems[0]); if (null != rootModel && null != packPath) { try { addLastModel( rootModel, packPath[packPath.length - 1], Arrays.copyOfRange(packPath, 0, packPath.length - 1)); } catch (Exception e) { e.printStackTrace(); } } } } else { Model rootModel = new Model(name); rootModel.setPackage(true); jarPackageMap.get(jarName).add(rootModel); } }