class EncryptionReencryptionStatusCommand extends CacheGroupEncryptionCommand<Long> {
    /** {@inheritDoc} */
    @Override public String description() {
        return "Display re-encryption status of the cache group";
    }

    /** {@inheritDoc} */
    @Override public Class<EncryptionCacheGroupArg> argClass() {
        return EncryptionCacheGroupArg.class;
    }

    /** {@inheritDoc} */
    @Override public Class<ReencryptionStatusTask> taskClass() {
        return ReencryptionStatusTask.class;
    }

    /** {@inheritDoc} */
    @Override protected void printNodeResult(Long bytesLeft, String grpName, Consumer<String> printer) {<FILL_FUNCTION_BODY>}
}

        if (bytesLeft == -1)
            printer.accept(DOUBLE_INDENT + "re-encryption completed or not required");
        else if (bytesLeft == 0)
            printer.accept(DOUBLE_INDENT + "re-encryption will be completed after the next checkpoint");
        else
            printer.accept(String.format("%s%d KB of data left for re-encryption", DOUBLE_INDENT, bytesLeft / 1024));
    
<methods>public Collection<org.apache.ignite.internal.client.GridClientNode> nodes(Collection<org.apache.ignite.internal.client.GridClientNode>, org.apache.ignite.internal.management.encryption.EncryptionCacheGroupArg) ,public void printResult(org.apache.ignite.internal.management.encryption.EncryptionCacheGroupArg, CacheGroupEncryptionTaskResult<java.lang.Long>, Consumer<java.lang.String>) <variables>