private boolean doList(ICommand cmd) throws Exception {
		if (cmd.getSubCommand().equals(CmdConstants.SubCmdNames.CLASS) || cmd.getSubCommand().matches(CmdConstants.SubCmdNames.INTERFACE)) {
			long id = IdManager.getInstance().accessIdWithKey(cmd.getFlagValue(CmdConstants.Flags.OBJECT));
			System.out.println(isc.listObject(id));
			return true;
		}
		if (cmd.getSubCommand().equals(CmdConstants.SubCmdNames.DESIGN)) {
			System.out.println(isc.listDesign());
			return true;
		}
		if (cmd.getSubCommand().equals(CmdConstants.SubCmdNames.CACHE)) {
			// get ID
			long id = Long.parseLong(cmd.getFlagValue(CmdConstants.Flags.ID));
			String type = cmd.getFlagValue(CmdConstants.Flags.TYPE);
			if (type == null) {
				System.out.println("Please specify a type");
				return false;
			}
			String listable = "";
			switch (type.toUpperCase()) {
			case "METHOD":
				listable = isc.listCachedMethod(id);
				break;
			case "VARIABLE":
			case "INSTANCE":
				listable = isc.listCachedVariable(id);
				break;
			case "MODIFIER":
				listable = isc.listCachedModifierSet(id);
				break;
			default:
				System.out.println("Unknown type given");
				return false;
			}
			System.out.println(listable);
			return true;
		} else
			return false;
	}