Record extends AbstractRecord { @Override public RecordParser getRecordParser(int startposition, byte[] array, ProtocolVersion version) { return new RecordParser(0, array, version); } Record(Config config);  Record(); ModifiableInteger getLength(); ModifiableByte getContentType(); ModifiableByteArray getProtocolVersion(); void setLength(ModifiableInteger length); void setContentType(ModifiableByte contentType); void setProtocolVersion(ModifiableByteArray protocolVersion); void setLength(int length); void setContentType(byte contentType); void setProtocolVersion(byte[] array); ModifiableInteger getEpoch(); void setEpoch(ModifiableInteger epoch); void setEpoch(Integer epoch); ModifiableBigInteger getSequenceNumber(); void setSequenceNumber(ModifiableBigInteger sequenceNumber); void setSequenceNumber(BigInteger sequenceNumber); @Override RecordPreparator getRecordPreparator(Chooser chooser, Encryptor encryptor, RecordCompressor compressor,
            ProtocolMessageType type); @Override RecordParser getRecordParser(int startposition, byte[] array, ProtocolVersion version); @Override RecordSerializer getRecordSerializer(); @Override void adjustContext(TlsContext context); RecordCryptoComputations getComputations(); void setComputations(RecordCryptoComputations computations); @Override void prepareComputations(); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj);  }
@Test public void testGetRecordParser() { assertEquals(record.getRecordParser(0, new byte[0], ProtocolVersion.TLS10).getClass(), RecordParser.class); assertEquals(record.getRecordParser(0, new byte[0], ProtocolVersion.TLS11).getClass(), RecordParser.class); assertEquals(record.getRecordParser(0, new byte[0], ProtocolVersion.TLS12).getClass(), RecordParser.class); assertEquals(record.getRecordParser(0, new byte[0], ProtocolVersion.TLS13).getClass(), RecordParser.class); }