List<String> getInformation() {
		List<String> infoList = new ArrayList<String>();

		if (entry == null) {
			infoList.add("<< no information available >>");
			return infoList;
		}

		infoList.add("Name: " + entry.getName());

		if (entry instanceof FSFile) {
			FSFile file = (FSFile) entry;
			infoList.add("Type: " + "File");
			infoList.add("Total Size: " + getSizeString(file.getCombinedLength()));
			FSFork[] allForks = file.getAllForks();
			for (FSFork fork : allForks) {
				infoList.add(
					"    " + fork.getForkIdentifier() + ": " + getSizeString(fork.getLength()));
			}
			appendFileID(infoList, file);

			if (parser != null) {
				try {
					DecmpfsHeader decmpfsHeader = parser.getDecmpfsHeader(file);
					if (decmpfsHeader != null) {
						infoList.add(
							"Decmpfs Size: " + getSizeString(decmpfsHeader.getUncompressedSize()));
					}
				}
				catch (IOException e) {
				}
			}
		}
		else if (entry instanceof FSFolder) {
			FSFolder folder = (FSFolder) entry;
			infoList.add("Type: " + "Folder");
			infoList.add("Size: " + startFolderSizeCalculation(folder));
		}
		else if (entry instanceof FSLink) {
			FSLink link = (FSLink) entry;

			FSEntry linkTarget =
				link.getLinkTarget(fileSystem.convertPathToArrayAndStripFileSystemName(filePath));
			if (linkTarget == null) {
				infoList.add("Type: " + "Symbolic link (broken)");
				infoList.add("Size: " + "- (broken link)");
			}
			else if (linkTarget instanceof FSFile) {
				FSFile file = (FSFile) linkTarget;
				infoList.add("Type: " + "Symbolic link (file)");
				infoList.add("Size: " + getSizeString(file.getMainFork().getLength()));
				FSFork[] allForks = file.getAllForks();
				for (FSFork fork : allForks) {
					infoList.add(
						"    " + fork.getForkIdentifier() + ": " + getSizeString(fork.getLength()));
				}
			}
			else if (linkTarget instanceof FSFolder) {
				FSFolder folder = (FSFolder) linkTarget;
				infoList.add("Type: " + "Symbolic link (folder)");
				infoList.add("Size: " + startFolderSizeCalculation(folder));
			}
			else {
				infoList.add("Type: " + "Symbolic link (unknown [" + linkTarget.getClass() + "])");
				infoList.add("Size: " + "- (unknown type)");
			}
			infoList.add("Link Target: " + link.getLinkTargetString());
		}
		else {
			infoList.add("Type: " + "Unknown [" + entry.getClass() + "]");
			infoList.add("Size: " + "- (unknown size)");
		}

		FSAttributes attrs = entry.getAttributes();

		appendDateInformation(attrs, infoList);
		appendPosixInformation(attrs, infoList);
		appendWindowsInformation(attrs, infoList);

		return infoList;
	}
@see org.catacombae.hfsexplorer.gui.FSEntrySummaryPanel
GPL/DMG/src/dmg/java/mobiledevices/dmg/reader/DmgInfoGenerator.java