code: public <V3, M4, C, N, Q> V3 getWrappedBitangent(int vertex,
              AiWrapperProvider<V3, M4, C, N, Q> wrapperProvider) {
          
          if (!hasTangentsAndBitangents()) {
              throw new IllegalStateException("mesh has no bitangents");
          }
          
          checkVertexIndexBounds(vertex);
          
          return wrapperProvider.wrapVector3f(m_bitangents, 
                  vertex * 3 * SIZEOF_FLOAT, 3);
      }
docs: Returns the vertex bitangent as 3-dimensional vector.<p>
  
  This method is part of the wrapped API (see {@link AiWrapperProvider}
  for details on wrappers).<p>
  
  The built-in behavior is to return a {@link AiVector}.
  
  @param vertex the vertex index
  @param wrapperProvider the wrapper provider (used for type inference)
  @return the bitangent wrapped as object