private String readFileComposeExternPackageList(String path,
                                                   String pkgListPath) {

        String link = pkgListPath + "package-list";
        if (! ((new File(pkgListPath)).isAbsolute() || linkoffline)){
            link = configuration.destDirName + link;
        }
        try {
            File file = new File(link);
            if (file.exists() && file.canRead()) {
                readPackageList(new FileInputStream(file), path,
                    ! ((new File(path)).isAbsolute() || isUrl(path)));
            } else {
                return configuration.getText("doclet.File_error", link);
            }
        } catch (FileNotFoundException exc) {
            return configuration.getText("doclet.File_error", link);
        } catch (IOException exc) {
            return configuration.getText("doclet.File_error", link);
        }
        return null;
    }