private CommandInfo<T> buildCommandInfo(T command, boolean base) {
		String name;
		if(command instanceof ICommandDetails) {
			name = ((ICommandDetails)command).getCommandName();
		} else {
			CommandDetails details = command.getClass().getAnnotation(CommandDetails.class);
			if(null != details) {
				name = details.name();
			} else {
				name = command.getClass().getSimpleName();
			}
		}
		return new CommandInfo<>(name, (Class<? extends T>) command.getClass(), command, base);
	}