PackageDependenciesNode (PackageDependenciesNode node, StringBuffer result) { if (node.getChildCount() == 0 || node.getChildCount() > 1 || node.getChildCount() == 1 && node.getChildAt(0) instanceof FileNode){ result.append(result.length() != 0 ? "." : "").append(node.toString().equals(getDefaultPackageAbbreviation()) ? "" : node.toString());//toString() } else { if (node.getChildCount() == 1){ PackageDependenciesNode child = (PackageDependenciesNode)node.getChildAt(0); if (!(node instanceof PackageNode)){ //e.g. modules node node.removeAllChildren(); child = hideEmptyMiddlePackages(child, result); node.add(child); } else { if (child instanceof PackageNode){ node.removeAllChildren(); result.append(result.length() != 0 ? "." : "") .append(node.toString().equals(getDefaultPackageAbbreviation()) ? "" : node.toString()); node = hideEmptyMiddlePackages(child, result); ((PackageNode)node).setPackageName(result.toString());//toString() } } } } return node; }