class CacheValidateIndexesCommandArg extends IgniteDataTransferObject {
    /** */
    private static final long serialVersionUID = 0;

    /** */
    @Positional
    @Argument(example = "cacheName1,...,cacheNameN", optional = true)
    private String value;

    /** */
    @Positional
    @Argument(example = "nodeId", optional = true)
    private String value2;

    /** */
    private String[] caches;

    /** */
    private UUID[] nodeIds;

    /** */
    @Argument(example = "N", description = "validate only the first N keys", optional = true)
    private int checkFirst = -1;

    /** */
    @Argument(example = "K", description = "validate every Kth key", optional = true)
    private int checkThrough = -1;

    /** */
    @Argument(description = "check the CRC-sum of pages stored on disk", optional = true)
    private boolean checkCrc;

    /** */
    @Argument(description = "check that index size and cache size are the same", optional = true)
    private boolean checkSizes;

    /** */
    private static void ensurePositive(int numVal, String arg) {
        if (numVal <= 0)
            throw new IllegalArgumentException("Value for '" + arg + "' property should be positive.");
    }

    /** */
    private void parse(String value) {<FILL_FUNCTION_BODY>}

    /** {@inheritDoc} */
    @Override protected void writeExternalData(ObjectOutput out) throws IOException {
        U.writeString(out, value);
        U.writeString(out, value2);
        U.writeArray(out, caches);
        U.writeArray(out, nodeIds);
        out.writeInt(checkFirst);
        out.writeInt(checkThrough);
        out.writeBoolean(checkCrc);
        out.writeBoolean(checkSizes);
    }

    /** {@inheritDoc} */
    @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
        value = U.readString(in);
        value2 = U.readString(in);
        caches = U.readArray(in, String.class);
        nodeIds = U.readArray(in, UUID.class);
        checkFirst = in.readInt();
        checkThrough = in.readInt();
        checkCrc = in.readBoolean();
        checkSizes = in.readBoolean();
    }

    /** */
    public String value2() {
        return value2;
    }

    /** */
    public void value2(String value2) {
        this.value2 = value2;

        parse(value2);
    }

    /** */
    public String value() {
        return value;
    }

    /** */
    public void value(String value) {
        this.value = value;

        parse(value);
    }

    /** */
    public UUID[] nodeIds() {
        return nodeIds;
    }

    /** */
    public void nodeIds(UUID[] nodeIds) {
        this.nodeIds = nodeIds;
    }

    /** */
    public String[] caches() {
        return caches;
    }

    /** */
    public void caches(String[] caches) {
        this.caches = caches;
    }

    /** */
    public int checkFirst() {
        return checkFirst;
    }

    /** */
    public void checkFirst(int checkFirst) {
        if (this.checkFirst == checkFirst)
            return;

        ensurePositive(checkFirst, "--check-first");

        this.checkFirst = checkFirst;
    }

    /** */
    public int checkThrough() {
        return checkThrough;
    }

    /** */
    public void checkThrough(int checkThrough) {
        if (this.checkThrough == checkThrough)
            return;

        ensurePositive(checkThrough, "--check-through");

        this.checkThrough = checkThrough;
    }

    /** */
    public boolean checkCrc() {
        return checkCrc;
    }

    /** */
    public void checkCrc(boolean checkCrc) {
        this.checkCrc = checkCrc;
    }

    /** */
    public boolean checkSizes() {
        return checkSizes;
    }

    /** */
    public void checkSizes(boolean checkSizes) {
        this.checkSizes = checkSizes;
    }
}

        try {
            nodeIds = CommandUtils.parseVal(value, UUID[].class);

            return;
        }
        catch (IllegalArgumentException ignored) {
            //No-op.
        }

        caches = CommandUtils.parseVal(value, String[].class);
    
<methods>public non-sealed void <init>() ,public byte getProtocolVersion() ,public void readExternal(java.io.ObjectInput) throws java.io.IOException, java.lang.ClassNotFoundException,public void writeExternal(java.io.ObjectOutput) throws java.io.IOException<variables>private static final int MAGIC,protected static final byte V1,protected static final byte V2,protected static final byte V3,protected static final byte V4,protected static final byte V5,protected static final byte V6,protected static final byte V7,protected static final byte V8,protected static final byte V9,private static final long serialVersionUID