### Question:
OmPrefixInfo extends WithObjectID { public OmPrefixInfo copyObject() { List<OzoneAcl> aclList = acls.stream().map(acl -> new OzoneAcl(acl.getType(), acl.getName(), (BitSet) acl.getAclBitSet().clone(), acl.getAclScope())) .collect(Collectors.toList()); Map<String, String> metadataList = new HashMap<>(); if (metadata != null) { metadata.forEach((k, v) -> metadataList.put(k, v)); } return new OmPrefixInfo(name, aclList, metadataList, objectID, updateID); } OmPrefixInfo(String name, List<OzoneAcl> acls,
      Map<String, String> metadata, long objectId, long updateId); List<OzoneAcl> getAcls(); boolean addAcl(OzoneAcl acl); boolean removeAcl(OzoneAcl acl); boolean setAcls(List<OzoneAcl> newAcls); String getName(); static OmPrefixInfo.Builder newBuilder(); PersistedPrefixInfo getProtobuf(); static OmPrefixInfo getFromProtobuf(PersistedPrefixInfo prefixInfo); @Override boolean equals(Object o); @Override int hashCode(); OmPrefixInfo copyObject();  }### Answer:
@Test public void testCopyObject() { OmPrefixInfo omPrefixInfo = new OmPrefixInfo("/path", Collections.singletonList(new OzoneAcl( IAccessAuthorizer.ACLIdentityType.USER, "user1", IAccessAuthorizer.ACLType.WRITE, ACCESS)), new HashMap<>(), 10, 100); OmPrefixInfo clonePrefixInfo = omPrefixInfo.copyObject(); Assert.assertEquals(omPrefixInfo, clonePrefixInfo); omPrefixInfo.addAcl(new OzoneAcl( IAccessAuthorizer.ACLIdentityType.USER, "user1", IAccessAuthorizer.ACLType.READ, ACCESS)); Assert.assertNotEquals(omPrefixInfo, clonePrefixInfo); }