class SheetPivoter {

    public void pivot(final Sheet pivotSourceSheet, final Sheet pivotTargetSheet) {

        sourceSheet = pivotSourceSheet;
        targetSheet = pivotTargetSheet;
        annotations = new AnnotationList(new ArrayList<AnnotationTriplet>());

        getAnnotationsFromSource();
        setOffsets();
        validateAndAdaptSourceDataIfNeeded();
        defineSomeCellStyles();
        createEmptyHeaderRowsAndCells();
        fillInHeaderRows();
        pivotSourceRows();
        addSummations();
    }

}