private MemberPath GetRightMemberPath(MemberPath conditionMember, LeftCellWrapper leftCellWrapper) { CellQuery rightCellQuery = leftCellWrapper.OnlyInputCell.GetRightQuery(ViewTarget.QueryView); var projectPositions = rightCellQuery.GetProjectedPositions(conditionMember); //Make the case simple. If the member is mapped more than once in the same cell wrapper //we are not going try and guess the pattern if (projectPositions.Count != 1) { return(null); } int firstProjectedPosition = projectPositions.First(); CellQuery leftCellQuery = leftCellWrapper.OnlyInputCell.GetLeftQuery(ViewTarget.QueryView); return(((MemberProjectedSlot)leftCellQuery.ProjectedSlotAt(firstProjectedPosition)).MemberPath); }