@Override public boolean matches(ReportBase item) { Originator originator = item.getOriginator(); Hierarchy hierarchy = item.getHierarchy(); if(item instanceof ExecutionReport) { ExecutionReport er = (ExecutionReport)item; ExecutionType executionType = er.getExecutionType(); return originator.forPositions() && hierarchy.forPositions() && executionType != null && executionType.isFill() && isValid(er); } else { return false; } }