throw new IllegalStateException("cant process two clusters simultaneously");
}
this.cluster = cluster;
Collection<LuvPoint> boundary = clustersMap.get4Boundary(cluster);
LuvPoint onboundary = boundary.iterator().next();
LuvPoint firstPoint = null;
for (LuvPoint luvPoint : clustersMap.get4Nearest(onboundary))
{
if (clustersMap.getAt(luvPoint) != cluster)
{
firstPoint = luvPoint;
break;
}
}
List<LuvPoint> resultCountour = new ArrayList(boundary.size());
resultCountour.add(firstPoint);
LuvPoint prevprev = null;
LuvPoint prev = firstPoint;
while (true)
{
LuvPoint next = getNextPoint(prev, prevprev);
resultCountour.add(next);
if (next == firstPoint)
{