### Question:
Authorizations implements Iterable<byte[]>, Serializable, AuthorizationContainer { public byte[] getAuthorizationsArray() { return serialize().getBytes(UTF_8); } Authorizations(Collection<byte[]> authorizations);  Authorizations(List<ByteBuffer> authorizations);  Authorizations(byte[] authorizations);  Authorizations();  Authorizations(String... authorizations); byte[] getAuthorizationsArray(); List<byte[]> getAuthorizations(); List<ByteBuffer> getAuthorizationsBB(); @Override String toString(); boolean contains(byte[] auth); @Override boolean contains(ByteSequence auth); boolean contains(String auth); @Override boolean equals(Object o); @Override int hashCode(); int size(); boolean isEmpty(); @Override Iterator<byte[]> iterator(); String serialize(); static final Authorizations EMPTY; static final String HEADER; }### Answer:
@Test public void testEncodeDecode() { Authorizations a = new Authorizations("a", "abcdefg", "hijklmno", ","); byte[] array = a.getAuthorizationsArray(); Authorizations b = new Authorizations(array); assertEquals(a, b); a = new Authorizations(); array = a.getAuthorizationsArray(); b = new Authorizations(array); assertEquals(a, b); a = new Authorizations("五", "b", "c", "九"); array = a.getAuthorizationsArray(); b = new Authorizations(array); assertEquals(a, b); }