code: @NotNull
      public CommandExecutor build() {
          return new DefaultCommandExecutor(
                  logger!=null ? logger : defaultLogger,
                  cache!=null ? cache : new ExecutorCache(),
                  extensions==null ? Collections.<ModeExtension>emptyList() : extensions
          );
      }
docs: Constructs the object with the added extensions. Uses defaults for the {@link #logger logger}
  and {@link #cache cache}.