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

    /** */
    private boolean inMaintenanceMode;

    /** */
    private boolean maintenanceTaskCompleted;

    /** */
    private List<String> handledCaches;

    /** */
    private List<String> failedToHandleCaches;

    /** */
    private Map<String, IgniteBiTuple<Boolean, Boolean>> cachesInfo;

    /** */
    public PersistenceTaskResult() {
        // No-op.
    }

    /**
     *
     */
    public PersistenceTaskResult(boolean inMaintenanceMode) {
        this.inMaintenanceMode = inMaintenanceMode;
    }

    /** {@inheritDoc} */
    @Override protected void writeExternalData(ObjectOutput out) throws IOException {
        out.writeBoolean(inMaintenanceMode);
        out.writeBoolean(maintenanceTaskCompleted);
        U.writeCollection(out, handledCaches);
        U.writeCollection(out, failedToHandleCaches);
        U.writeMap(out, cachesInfo);
    }

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

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

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

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

    /** */
    public List<String> handledCaches() {
        return handledCaches;
    }

    /** */
    public void handledCaches(List<String> handledCaches) {
        this.handledCaches = handledCaches;
    }

    /** */
    public List<String> failedCaches() {
        return failedToHandleCaches;
    }

    /** */
    public void failedCaches(List<String> failedToHandleCaches) {
        this.failedToHandleCaches = failedToHandleCaches;
    }

    /** */
    public Map<String, IgniteBiTuple<Boolean, Boolean>> cachesInfo() {
        return cachesInfo;
    }

    /** */
    public void cachesInfo(Map<String, IgniteBiTuple<Boolean, Boolean>> cachesInfo) {
        this.cachesInfo = cachesInfo;
    }
}

        inMaintenanceMode = in.readBoolean();
        maintenanceTaskCompleted = in.readBoolean();
        handledCaches = U.readList(in);
        failedToHandleCaches = U.readList(in);
        cachesInfo = U.readMap(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,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