public void explore() {
		if (!isDirectory())
			return;

		if (!isExplored()) {
			File file = getFile();
			File[] children = file.listFiles();

			for (int i = 0; i < children.length; ++i) {
				if (children[i].isDirectory())
					add(new FileNode(children[i]));
			}
			for (int i = 0; i < children.length; ++i) {
				if (!children[i].isDirectory())
					add(new FileNode(children[i]));
			}
			explored = true;
		}
	}