int scanByteArray( byte[] byteMap, int BBLastPtr, byte refType, int mapslot)
int scanByteArray( byte[] byteMap, int BBLastPtr, byte refType, int mapslot, boolean skipOneBit)
  int scanByteArray( byte[] byteMap, int BBLastPtr, byte refType, int mapslot)  {    if (BBLastPtr == -1) return -1;     // no map for this jsr    // get a place to hold the map if necessary    if (mapslot ==0)      {       mapslot  = getNextMapElement();     // get first word of map      }   // initialize search variables    int len    = (BBLastPtr + 1);      // get length of map    int offset = 0;                    // offset from origin    int word = mapslot;                // first word of map    while ( len > BITS_PER_MAP_ELEMENT )    {      // map may take multiple words -convert 1 at a time       unusualReferenceMaps[word] = convertMapElement(byteMap, offset, BITS_PER_MAP_ELEMENT, refType);       len    -= BITS_PER_MAP_ELEMENT;                // update remaining words       offset += BITS_PER_MAP_ELEMENT;                // and offset       word++;                                        // get next word    }    // convert last word    unusualReferenceMaps[word] = convertMapElement(byteMap,offset, len, refType);     return mapslot;  }