public @NonNull Command<C> build() {
            final List<CommandComponent<C>> commandComponents = new ArrayList<>(this.commandComponents);
            /* Construct flag node */
            if (!this.flags.isEmpty()) {
                final CommandFlagParser<C> flagParser = new CommandFlagParser<>(this.flags);
                final CommandComponent<C> flagComponent =
                        CommandComponent.<C, Object>builder()
                                .name("flags")
                                .parser(flagParser)
                                .valueType(Object.class)
                                .description(Description.of("Command flags"))
                                .build();
                commandComponents.add(flagComponent);
            }
            return new Command<>(
                    Collections.unmodifiableList(commandComponents),
                    this.commandExecutionHandler,
                    this.senderType,
                    this.permission,
                    this.commandMeta,
                    this.commandDescription
            );
        }
Builds a command using the builder instance.

@return built command
cloud-core/src/main/java/org/incendo/cloud/Command.java