question: public Buffer read ( VertexInfo vertexInfo , int address , int firstVertex , int numberOfVertex , boolean canAllNativeVertexInfo ) { videoEngine = VideoEngine . getInstance ( ) ; this . vertexInfo = vertexInfo ; this . canAllNativeVertexInfo = canAllNativeVertexInfo ; update ( ) ; if ( isAllNative ( ) ) { if ( log . isDebugEnabled ( ) ) { log . debug ( String . format ( "Not reading Vertex, all native at 0x%08X" , address ) ) ; } return null ; } if ( log . isDebugEnabled ( ) ) { log . debug ( String . format ( "Reading %d Vertex at 0x%08X" , numberOfVertex , address + firstVertex * vertexInfo . vertexSize ) ) ; if ( ! textureNative ) { log . debug ( "Texture non-native " + vertexInfo . toString ( ) ) ; } if ( ! colorNative ) { log . debug ( "Color non-native " + vertexInfo . toString ( ) ) ; } if ( ! normalNative ) { log . debug ( "Normal non-native " + vertexInfo . toString ( ) ) ; } if ( ! positionNative ) { log . debug ( "Position non-native " + vertexInfo . toString ( ) ) ; } } setAddress ( address + firstVertex * vertexInfo . vertexSize ) ; createVertexDataBuffer ( numberOfVertex ) ; IVertexInfoReader weightReader = getWeightReader ( weightNative ) ; IVertexInfoReader textureReader = getTextureReader ( textureNative ) ; IVertexInfoReader colorReader = getColorReader ( colorNative ) ; IVertexInfoReader normalReader = getNormalReader ( normalNative ) ; IVertexInfoReader positionReader = getPositionReader ( positionNative ) ; IVertexInfoReader padReader = getPaddingReader ( vertexInfo . alignmentSize ) ; for ( int i = 0 ; i < numberOfVertex ; i ++ ) { weightReader . read ( ) ; textureReader . read ( ) ; colorReader . read ( ) ; normalReader . read ( ) ; positionReader . read ( ) ; padReader . read ( ) ; } return vertexDataBuffer . getBuffer ( ) ; }
target:  Reads a sequence of VertexInfo structures.