@VisibleForTesting
    int execute(String[] args) {
        return commander.execute(args);
    }
@Test
    public void testGenerateDocs() throws Exception {
        PrintStream oldStream = System.out;
        try {
            ByteArrayOutputStream baoStream = new ByteArrayOutputStream();
            System.setOut(new PrintStream(baoStream));

            new TokensCliUtils().execute(new String[]{"gen-doc"});

            String message = baoStream.toString();

            String[] innerClassList = {
                    TokensCliUtils.CommandCreateSecretKey.class.getName(),
                    TokensCliUtils.CommandCreateKeyPair.class.getName(),
                    TokensCliUtils.CommandCreateToken.class.getName(),
                    TokensCliUtils.CommandShowToken.class.getName(),
                    TokensCliUtils.CommandValidateToken.class.getName()
            };

            for (String name : innerClassList) {
                assertInnerClass(name, message);
            }

        } finally {
            System.setOut(oldStream);
        }
    }