private void checkAndCreateCounter( String counterName ) throws DataException {
		int blockSize = 1;
		trace( false, "checkAndCreateCounter",
				( new StringBuilder() ).append( "Using blockSize " ).append( blockSize ).toString() );
		trace( false, "checkAndCreateCounter",
				( new StringBuilder() ).append( "Checking for existing counter " ).append( counterName ).toString() );
		IdcCounter ctr = IdcCounterUtils.getCounter( m_dbCSWorkspace, counterName );
		if( ctr == null ) {
			trace( false, "checkAndCreateCounter",
					( new StringBuilder() ).append( "Creating counter " ).append( counterName ).toString() );
			if( !IdcCounterUtils.registerCounter( m_dbCSWorkspace, counterName, 1L, blockSize ) )
				trace( false, "checkAndCreateCounter",
						( new StringBuilder() ).append( "INTERNAL ERROR: Counter " ).append( counterName ).append( " *NOT* created" ).toString() );
			else
				trace( false, "checkAndCreateCounter",
						( new StringBuilder() ).append( "Counter " ).append( counterName ).append( " created" ).toString() );
		}
		else {
			trace( false, "checkAndCreateCounter",
					( new StringBuilder() ).append( "Found existing counter " ).append( counterName ).toString() );
			if( ctr.m_increment != blockSize ) {
				trace( false, "checkAndCreateCounter", ( new StringBuilder() ).append( "Changing increment from " )
						.append( ctr.m_increment ).append( " to " ).append( blockSize ).toString() );
				long nxtVal = ctr.nextValue( m_dbCSWorkspace );
				trace( false, "checkAndCreateCounter", ( new StringBuilder() ).append( "Got counter nextValue " )
						.append( nxtVal ).toString() );
				if( !IdcCounterUtils.registerCounter( m_dbCSWorkspace, counterName, nxtVal, blockSize ) )
					trace( false, "checkAndCreateCounter", ( new StringBuilder() ).append( "INTERNAL ERROR: Counter " )
							.append( counterName ).append( " *NOT* recreated" ).toString() );
			}
		}
	}