protected ReturnCode determineReturnCode ( ReturnCode txFilterCode , ReturnCode subFilterCode ) { // Return the more restrictive of the two filter responses switch ( subFilterCode ) { case INCLUDE : return txFilterCode ; case INCLUDE_AND_NEXT_COL : return ReturnCode . INCLUDE_AND_NEXT_COL ; case SKIP : return txFilterCode == ReturnCode . INCLUDE ? ReturnCode . SKIP : ReturnCode . NEXT_COL ; default : return subFilterCode ; } }
Determines the return code of TransactionVisibilityFilter based on sub - filter s return code . Sub - filter can only exclude cells included by TransactionVisibilityFilter i . e . sub - filter s INCLUDE will be ignored . This behavior makes sure that sub - filter only sees cell versions valid for the given transaction . If sub - filter needs to see older versions of cell then this method can be overridden .