@Override
	protected int processRecord (int recordCounter, byte[] recordData, short recordAttributes, int recordUniqueID) 
		{
							
		// if it's not the first record
		if (recordCounter > 0) {
			
			// it's a node
			
			
			// determine the node level
			// TBD make this a JNI call
			int nodeLevel = (int) BitsAndBytes.unsignedByte(recordData, PDB_TM_NODE_LEVEL) ;
			
			// grab the node text
			// TBD make this a JNI call
			
			// determine the length of the node text
			int nodeTextLength = recordData.length 
						- PDB_TM_NODE_TEXT 
						- PDB_TM_APRES_TEXT 
						- 1 ; // trailing 0 at end of text
			
			// grab the node text into a String
			String nodeText = new String(recordData, PDB_TM_NODE_TEXT, nodeTextLength) ;
		
			// create a free-standing node with the proper contents
			NodeImpl node = new NodeImpl(null, nodeText);

			// let's set some node attributes
			// TBD
			// TBD make this a JNI call

			// okay, the node's all set up
					
			// add the node to the outline
			ourContentHandler.addNodeToOutline(node, nodeLevel) ;

			} // end if it's not the first record
					
		// else it's the first record
		else {
			
			// first record is special
			// contains ??? data
			// handle that
			// TBD
			// TBD make this a JNI call
			
			} // end else it's the first record
		
		
		// return a result
		// TBD make this real
		// TBD while doing so, get a try/catch in here
		
		return SUCCESS ;
			
		} // end protected method processRecord