private void samplePIn()
	{
		final PInSampler sampler = graph.getSamplerForNewPIn();
		final List<Double> pInValues = graph.getGroundTruth().getPIn();

		if (PInSampler.MEAN == sampler || pInValues.size() == 1)
		{
			this.firstResultingPIn = initialCluster.getPIn();
			this.secondResultingPIn = initialCluster.getPIn();
		}
		else if (PInSampler.GAUSSIAN == sampler)
		{
			final double mean = ListUtils.arithmeticMean(pInValues);
			final double stddev = pInValues.size() > 1 //
			? Math.sqrt(ListUtils.variance(pInValues)) //
				: Math.abs(pInValues.get(0) - mean);
			final Random random = new Random();

			final double pOut = this.graph.getPOut();

			do
			{
				this.firstResultingPIn = stddev * random.nextGaussian() + mean;
			}
			while (this.firstResultingPIn < pOut || this.firstResultingPIn > 1);

			do
			{
				this.secondResultingPIn = stddev * random.nextGaussian() + mean;
			}
			while (this.secondResultingPIn < pOut || this.secondResultingPIn > 1);
		}
		else
		{
			assert false : "Invalid sampler or sampler not yet implemented!";
		}
	}