class DataApprovalWorkflow extends BaseIdentifiableObject implements MetadataObject {

    public List<DataApprovalLevel> getSortedLevels()
    {
        Comparator<DataApprovalLevel> orderByLevelNumber =
            ( DataApprovalLevel dal1, DataApprovalLevel dal2 ) -> dal1.getLevel() - dal2.getLevel();

        List<DataApprovalLevel> sortedLevels = new ArrayList<>( levels );

        Collections.sort( sortedLevels, orderByLevelNumber );

        return sortedLevels;
    }

    public  DataApprovalWorkflow();
    public  DataApprovalWorkflow( String name );
    public  DataApprovalWorkflow( String name, PeriodType periodType, Set<DataApprovalLevel> levels );
    public  DataApprovalWorkflow( String name, PeriodType periodType,
        CategoryCombo categoryCombo, Set<DataApprovalLevel> levels );

}