public MoonClusterNode(PosMapper2 posMapper, long lowerBoundaryInKm, long upperBoundaryInKm, IList <IDScanItem> leftBorderScan, IList <IDScanItem> rightBorderScan) : base(posMapper, leftBorderScan, rightBorderScan) { _upperBoundaryInKm = upperBoundaryInKm; _lowerBoundaryInKm = lowerBoundaryInKm; _sizeInKm = upperBoundaryInKm - lowerBoundaryInKm; PivotalScanRangeInKm = upperBoundaryInKm - _sizeInKm / 2; var towerCount = ItemsOnScan.Count(PosMappingUtils.IsTower); if (IsClusterTooDense) { IsLeaf = true; PosMapper.OnMoonClusterIsTooDense(ItemsOnScan.Where(PosMappingUtils.IsMoon).ToList()); //TODO on dings nicht public machen, sondern actions uebergeben oder so } else { IsLeaf = towerCount == 0 || (towerCount == 1 && ItemsOnScan.Count(PosMappingUtils.IsMoon) == 1);//TODO extension method fuer count == 1 (kann bei 2 abbrechen) } }