### Question:
AuthorizationsUtil { public static Authorizations union(Iterable<byte[]> authorizations1, Iterable<byte[]> authorizations2) { LinkedList<byte[]> aggregatedAuthorizations = Lists.newLinkedList(); addTo(aggregatedAuthorizations, authorizations1); addTo(aggregatedAuthorizations, authorizations2); return new Authorizations(aggregatedAuthorizations); }  static Authorizations union(Iterable<byte[]> authorizations1, Iterable<byte[]> authorizations2); static Set<Authorizations> mergeAuthorizations(String requestedAuths, Collection<? extends Collection<String>> userAuths); static Set<Authorizations> getDowngradedAuthorizations(String requestedAuths, Principal principal); static LinkedHashSet<Authorizations> getDowngradedAuthorizations(String requestedAuths, DatawavePrincipal principal); static String downgradeUserAuths(Principal principal, String requested); static List<String> splitAuths(String requestedAuths); static Set<Authorizations> buildAuthorizations(Collection<? extends Collection<String>> userAuths); static String buildAuthorizationString(Collection<? extends Collection<String>> userAuths); static String buildUserAuthorizationString(Principal principal); static Collection<Authorizations> minimize(Collection<Authorizations> authorizations); static Collection<? extends Collection<String>> prepareAuthsForMerge(Authorizations authorizations);  }### Answer:
@Test public void testUnionAuthorizations() { assertEquals(new Authorizations("A", "C"), AuthorizationsUtil.union(new Authorizations("A", "C"), new Authorizations("A"))); }
@Test public void testUnionWithEmptyAuthorizations() { assertEquals(new Authorizations("A", "C"), AuthorizationsUtil.union(new Authorizations("A", "C"), new Authorizations())); }
@Test public void testUnionWithBothEmptyAuthorizations() { assertEquals(new Authorizations(), AuthorizationsUtil.union(new Authorizations(), new Authorizations())); }