// Path: dkpro-statistics-agreement/src/main/java/org/dkpro/statistics/agreement/unitizing/IUnitizingAnnotationStudy.java
// public interface IUnitizingAnnotationStudy
//     extends IAnnotationStudy
// {
// 
//     // -- Units --
// 
//     /** Allows iterating all annotation units of this study. */
//     Collection<IUnitizingAnnotationUnit> getUnits();
// 
//     // -- Continuum --
// 
//     // @Deprecated
//     // public int getSectionCount();
//     //
//     // @Deprecated
//     // public Iterable<Integer> getSectionBoundaries();
// 
//     /**
//      * Returns the begin of the continuum (i.e., the first offset that is considered valid for
//      * annotation units).
//      */
//     long getContinuumBegin();
// 
//     /**
//      * Returns the length of the continuum (i.e., the last possible right delimiter of an annotation
//      * unit).
//      */
//     long getContinuumLength();
// 
//     /**
//      * Returns the number of units rated by the given rater.
//      */
//     long getUnitCount(int aRaterIdx);
// 
//     // TODO: public void addSectionBoundary(long position);
// 
// }
// 
// Path: dkpro-statistics-agreement/src/main/java/org/dkpro/statistics/agreement/unitizing/IUnitizingAnnotationUnit.java
// public interface IUnitizingAnnotationUnit
//     extends IAnnotationUnit, Comparable<IUnitizingAnnotationUnit>
// {
// 
//     /**
//      * Returns the offset of the annotation unit (i.e., the start position of the identified
//      * segment).
//      */
//     public long getOffset();
// 
//     /**
//      * Returns the length of the annotation unit (i.e., the difference between the end and start
//      * position of the identified segment).
//      */
//     public long getLength();
// 
//     /**
//      * Returns the right delimiter of the annotation unit (i.e., the end position of the identified
//      * segment). The method is a shorthand for {@link #getOffset()} + {@link #getLength()}.
//      */
//     public long getEndOffset();
// 
// }


import java.io.PrintStream;
import java.util.Objects;
import org.dkpro.statistics.agreement.unitizing.IUnitizingAnnotationStudy;
import org.dkpro.statistics.agreement.unitizing.IUnitizingAnnotationUnit;
        }
        out.print(digitSpace);
        out.print("  ");
        out.println(annotations1);

        // Rater 2.
        char[] annotations2 = new char[(int) L];
        for (int i = 0; i < L; i++) {
            annotations2[i] = ' ';
        }
        for (IUnitizingAnnotationUnit unit : study.getUnits()) {
            if (unit.getRaterIdx() == rater2 && Objects.equals(unit.getCategory(), category)) {
                for (int i = 0; i < unit.getLength(); i++) {
                    annotations2[i + (int) unit.getOffset() - (int) B] = '*';
                }
            }
        }

        for (int i = 0; i <= L; i++) {
            for (int j = digits - 1; j >= 0; j--) {
                out.print(scale[j][i]);
            }
            out.print(" ");
            if (i < L) {
                out.print(annotations2[i]);
                for (int k = 0; k < L; k++) {
                    /*
                     * if (i != k) { out.print(' '); continue; }
                     */
                    if (annotations1[k] == '*' && annotations2[i] == '*') {
// Path: dkpro-statistics-agreement/src/main/java/org/dkpro/statistics/agreement/unitizing/IUnitizingAnnotationStudy.java
// public interface IUnitizingAnnotationStudy
//     extends IAnnotationStudy
// {
// 
//     // -- Units --
// 
//     /** Allows iterating all annotation units of this study. */
//     Collection<IUnitizingAnnotationUnit> getUnits();
// 
//     // -- Continuum --
// 
//     // @Deprecated
//     // public int getSectionCount();
//     //
//     // @Deprecated
//     // public Iterable<Integer> getSectionBoundaries();
// 
//     /**
//      * Returns the begin of the continuum (i.e., the first offset that is considered valid for
//      * annotation units).
//      */
//     long getContinuumBegin();
// 
//     /**
//      * Returns the length of the continuum (i.e., the last possible right delimiter of an annotation
//      * unit).
//      */
//     long getContinuumLength();
// 
//     /**
//      * Returns the number of units rated by the given rater.
//      */
//     long getUnitCount(int aRaterIdx);
// 
//     // TODO: public void addSectionBoundary(long position);
// 
// }
// 
// Path: dkpro-statistics-agreement/src/main/java/org/dkpro/statistics/agreement/unitizing/IUnitizingAnnotationUnit.java
// public interface IUnitizingAnnotationUnit
//     extends IAnnotationUnit, Comparable<IUnitizingAnnotationUnit>
// {
// 
//     /**
//      * Returns the offset of the annotation unit (i.e., the start position of the identified
//      * segment).
//      */
//     public long getOffset();
// 
//     /**
//      * Returns the length of the annotation unit (i.e., the difference between the end and start
//      * position of the identified segment).
//      */
//     public long getLength();
// 
//     /**
//      * Returns the right delimiter of the annotation unit (i.e., the end position of the identified
//      * segment). The method is a shorthand for {@link #getOffset()} + {@link #getLength()}.
//      */
//     public long getEndOffset();
// 
// }


// Path: dkpro-statistics-agreement/src/main/java/org/dkpro/statistics/agreement/visualization/UnitizingMatrixPrinter.java
import java.io.PrintStream;
import java.util.Objects;
import org.dkpro.statistics.agreement.unitizing.IUnitizingAnnotationStudy;
import org.dkpro.statistics.agreement.unitizing.IUnitizingAnnotationUnit;

        }
        out.print(digitSpace);
        out.print("  ");
        out.println(annotations1);

        // Rater 2.
        char[] annotations2 = new char[(int) L];
        for (int i = 0; i < L; i++) {
            annotations2[i] = ' ';
        }
        for (IUnitizingAnnotationUnit unit : study.getUnits()) {
            if (unit.getRaterIdx() == rater2 && Objects.equals(unit.getCategory(), category)) {
                for (int i = 0; i < unit.getLength(); i++) {
                    annotations2[i + (int) unit.getOffset() - (int) B] = '*';
                }
            }
        }

        for (int i = 0; i <= L; i++) {
            for (int j = digits - 1; j >= 0; j--) {
                out.print(scale[j][i]);
            }
            out.print(" ");
            if (i < L) {
                out.print(annotations2[i]);
                for (int k = 0; k < L; k++) {
                    /*
                     * if (i != k) { out.print(' '); continue; }
                     */
                    if (annotations1[k] == '*' && annotations2[i] == '*') {
                        out.print('*');