class TranslogStats {

    private final long translogSizeInBytes;
    private final int numberOfOperations;
    private final long uncommittedSizeInBytes;
    private final int uncommittedOperations;

    public TranslogStats(int numberOfOperations,
                         long translogSizeInBytes,
                         int uncommittedOperations,
                         long uncommittedSizeInBytes) {
        if (numberOfOperations < 0) {
            throw new IllegalArgumentException("numberOfOperations must be >= 0");
        }
        if (translogSizeInBytes < 0) {
            throw new IllegalArgumentException("translogSizeInBytes must be >= 0");
        }
        if (uncommittedOperations < 0) {
            throw new IllegalArgumentException("uncommittedOperations must be >= 0");
        }
        if (uncommittedSizeInBytes < 0) {
            throw new IllegalArgumentException("uncommittedSizeInBytes must be >= 0");
        }
        this.numberOfOperations = numberOfOperations;
        this.translogSizeInBytes = translogSizeInBytes;
        this.uncommittedSizeInBytes = uncommittedSizeInBytes;
        this.uncommittedOperations = uncommittedOperations;
    }

    public long getTranslogSizeInBytes() {
        return translogSizeInBytes;
    }

    public int estimatedNumberOfOperations() {
        return numberOfOperations;
    }

    /** the size of the generations in the translog that weren't yet to committed to lucene */
    public long getUncommittedSizeInBytes() {
        return uncommittedSizeInBytes;
    }

    /** the number of operations in generations of the translog that weren't yet to committed to lucene */
    public int getUncommittedOperations() {
        return uncommittedOperations;
    }

    @Override
    public String toString() {<FILL_FUNCTION_BODY>}
}

        return "TranslogStats{" +
               "translogSizeInBytes=" + translogSizeInBytes +
               ", numberOfOperations=" + numberOfOperations +
               ", uncommittedSizeInBytes=" + uncommittedSizeInBytes +
               ", uncommittedOperations=" + uncommittedOperations +
               '}';
    
<no_super_class>