protected Cluster<?> expandCluster(Object r, Cluster<?> c)
	{
		LOG.trace("Expanding cluster");
		Cluster<Object> newCluster = new Cluster<Object>();

		newCluster.addRecord(r);

		for (Object o : c.getRecords())
		{
			
			if (!c.isVisited(o))
			{
				c.setVisited(o,true);
				Cluster<?> cluster = this.rangeQuery(o);
				if (cluster.getRecords().size() >= this.minPts)
				{

					cluster.combineClusters(this.expandCluster(o, cluster));

				}
			}

			if (!c.isAssigned(o))
			{
				newCluster.addRecord(o);
			}
		}

		return newCluster;
	}