public static final PrimerPack createFromBytes(ByteBuffer buffer) throws EndOfDataException { UL key = MXFBuilder.readKey(buffer); long length = MXFBuilder.readBERLength(buffer); int preserveLimit = buffer.limit(); PrimerPack primerPack = null; try { buffer.limit((int) (buffer.position() + length)); primerPack = (PrimerPack) MXFBuilder.readFixedLengthPack((AUIDImpl) key, buffer); } finally { buffer.limit(preserveLimit); } return primerPack; }