class StringCommandType implements ProtocolKeyword {

        private final byte[] commandTypeBytes;

        private final String commandType;

        StringCommandType(String commandType) {
            this.commandType = commandType;
            this.commandTypeBytes = commandType.getBytes();
        }

        @Override
        public byte[] getBytes() {
            return commandTypeBytes;
        }

        @Override
        public String name() {
            return commandType;
        }

        @Override
        public String toString() {
            return name();
        }

        @Override
        public boolean equals(Object o) {
            if (this == o)
                return true;
            if (!(o instanceof StringCommandType))
                return false;

            StringCommandType that = (StringCommandType) o;

            return commandType.equals(that.commandType);
        }

        @Override
        public int hashCode() {
            return commandType.hashCode();
        }

    }

    @Override
    public String toString() {<FILL_FUNCTION_BODY>

        StringBuilder sb = new StringBuilder();
        sb.append(getCommandType().name());

        for (CommandSegment segment : segments) {
            sb.append(' ').append(segment);
        }

        return sb.toString();
    
<no_super_class>