 			// continue later if necessary
 			if (StageUtils.shouldCallLater)
 			{
+				WeaveAPI.ProgressIndicator.updateTask(this, keyIndex / (keys.length - 1));
 				StageUtils.callLater(unprojectedColumn, processGeometries, arguments);
 				return;
 			}

import org.openscales.proj4as.ProjPoint;
import org.openscales.proj4as.ProjProjection;

import weave.api.data.AttributeColumnMetadata;
import weave.api.data.DataTypes;
import weave.api.data.IAttributeColumn;

		coordsVectorIndex = 0;
		keysVector = new Vector.<IQualifiedKey>();
		geomVector = new Vector.<GeneralizedGeometry>();
		coordsVector.length = 0;
		sourceProj = projectionManager.getProjection(sourceProjSRS);
		destinationProj = projectionManager.getProjection(destinationProjSRS);
		
		WeaveAPI.ProgressIndicator.addTask(this);
		WeaveAPI.ProgressIndicator.addTask(coordsVector);
		processGeometries(taskID);
	}
	
