public FSTStruct createStructPointer(Bytez b, long index, int clzId) {
//        synchronized (this) // FIXME FIXME FIXME: contention point
        // desynced expecting class registering happens on startup
        {
            Class clazz = mIntToClz.get(clzId);
            if (clazz==null)
                throw new RuntimeException("unregistered class "+clzId);
            try {
                return (FSTStruct) createWrapper(clazz, b, index);
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
        }
    }
public FSTStruct createStructPointer ( Bytez b , long index , int clzId ) { { Class clazz = mIntToClz . get ( clzId ) ; if ( clazz == null ) throw new RuntimeException ( "unregistered class " + clzId ) ; try { return ( FSTStruct ) createWrapper ( clazz , b , index ) ; } catch ( Exception e ) { throw new RuntimeException ( e ) ; } } }
allocates a StructAccessor ("pointer") matching the struct data expected in the byte
array at given position with given classId. The resulting pointer object is not "volatile" (not a cached instance).
The class id should match the Struct stored in the byte array. (classId must be the correct struct or a superclass of it)
@param b
@param index
@return