public void read(ByteBuffer byteBuffer) throws InvalidFrameException, InvalidDataTypeException {
String identifier = readIdentifier(byteBuffer);
if (!isValidID3v2FrameIdentifier(identifier)) {
//logger.info(getLoggingFilename() + ":Invalid identifier:" + identifier);
byteBuffer.position(byteBuffer.position() - (getFrameIdSize() - 1));
throw new InvalidFrameIdentifierException(getLoggingFilename() + ":" + identifier + ":is not a valid ID3v2.30 frame");
}
//Read the size field (as Big Endian Int - byte buffers always initialised to Big Endian order)
frameSize = byteBuffer.getInt();
if (frameSize < 0) {
//logger.warning(getLoggingFilename() + ":Invalid Frame Size:" + identifier);