code: public int getPreviousSibling(int nodeHandle) {
                  nodeHandle &= NODEHANDLE_MASK;
                  // Document root has no previous sibling
                  if (nodeHandle == 0)
                          return NULL;
  
                  int parent = nodes.readEntry(nodeHandle, 1);
                  int kid = NULL;
                  for (int nextkid = getFirstChild(parent); nextkid != nodeHandle;
                                  nextkid = getNextSibling(nextkid)) {
                          kid = nextkid;
                  }
                  return kid | m_docHandle;
          }
docs: Given a node handle, find its preceeding sibling.
  WARNING: DTM is asymmetric; this operation is resolved by search, and is
  relatively expensive.
  
  @param nodeHandle the id of the node.
  @return int Node-number of the previous sib,
  or DTM.NULL to indicate none exists.