public List <LightColumn> lightColumnsAdjacentToAndFlushWithSimpleRangeAndPoint(SimpleRange colmRange, PTwo coord) { // PTwo coord = colm.coord; List <LightColumn> result = new List <LightColumn>(); foreach (PTwo surroundingCo in DirectionUtil.SurroundingPTwoCoordsFromPTwo(coord)) { DiscreteDomainRangeList <LightColumn> adjRangeList = this.lightColumnListAtOrNull(surroundingCo.s, surroundingCo.t); if (adjRangeList == null) { continue; } for (int i = 0; i < adjRangeList.Count; ++i) { LightColumn adjLightColumn = adjRangeList[i]; OverlapState overlap = colmRange.overlapStateWith(adjLightColumn.range); if (OverLapUtil.OverlapExists(overlap)) { result.Add(adjLightColumn); } } } return(result); }