class CacheConfigurationCollectorTaskArg extends VisorDataTransferObject {
    /** */
    private static final long serialVersionUID = 0L;

    /** Collection of cache names. */
    private Collection<String> cacheNames;

    /** Cache name regexp. */
    private String regex;

    /**
     * Default constructor.
     */
    public CacheConfigurationCollectorTaskArg() {
        // No-op.
    }

    /**
     * @param cacheNames Collection of cache names.
     */
    public CacheConfigurationCollectorTaskArg(Collection<String> cacheNames) {
        this.cacheNames = cacheNames;
    }

    /**
     * @param regex Cache name regexp.
     */
    public CacheConfigurationCollectorTaskArg(String regex) {
        // Checks, that regex is correct.
        Pattern.compile(regex);

        this.regex = regex;
    }

    /**
     * @return Collection of cache deployment IDs.
     */
    public Collection<String> getCacheNames() {
        return cacheNames;
    }

    /**
     * @return Cache name regexp.
     */
    public String getRegex() {
        return regex;
    }

    /** {@inheritDoc} */
    @Override public byte getProtocolVersion() {
        return V2;
    }

    /** {@inheritDoc} */
    @Override protected void writeExternalData(ObjectOutput out) throws IOException {
        U.writeCollection(out, cacheNames);
        U.writeString(out, regex);
    }

    /** {@inheritDoc} */
    @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {<FILL_FUNCTION_BODY>}

    /** {@inheritDoc} */
    @Override public String toString() {
        return S.toString(CacheConfigurationCollectorTaskArg.class, this);
    }
}

        cacheNames = U.readCollection(in);

        if (protoVer > V1)
            regex = U.readString(in);
    
<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,private static final long serialVersionUID