public static DefaultCell averagedCell(List<Measurement> measurements) {
		
		Point2D.Double averagedCellTowerPos = averagedCellTowerPosition(measurements);
		
		DefaultCell averageCell = new DefaultCell(averagedCellTowerPos, 0.0, 120.0);
		
		double vectorAngle = 0.0;
		
		List<Measurement> maxMeasurementsThatFit = new ArrayList<Measurement>();
		
		while(vectorAngle < 360.0) {
			List<Measurement> currentMeasurementsThatFit = new ArrayList<Measurement>();
			for(Measurement m : measurements) {
				if(Geom.pointIsWithinSectorAngleBoundries(
						m.getCoordinates(), 
						averageCell.getCellTowerCoordinates(), 
						vectorAngle, 
						vectorAngle+averageCell.getSectorAngle())) {
					
					currentMeasurementsThatFit.add(m);
				}
			}
			
			if(currentMeasurementsThatFit.size() > maxMeasurementsThatFit.size()) {
				maxMeasurementsThatFit = currentMeasurementsThatFit;
				averageCell.setVectorAngle(vectorAngle);
			}
			vectorAngle += 0.1;
		}
		
		averageCell.setMeasurements(maxMeasurementsThatFit);
		
		return averageCell;
		
//		return new DefaultCell(new Point2D.Double(lon, lat), 120.0);
	}