### Question:
ServiceDocument { public void copyTo(ServiceDocument target) { target.documentEpoch = this.documentEpoch; target.documentDescription = this.documentDescription; target.documentOwner = this.documentOwner; target.documentSourceLink = this.documentSourceLink; target.documentVersion = this.documentVersion; target.documentKind = this.documentKind; target.documentSelfLink = this.documentSelfLink; target.documentUpdateTimeMicros = this.documentUpdateTimeMicros; target.documentUpdateAction = this.documentUpdateAction; target.documentExpirationTimeMicros = this.documentExpirationTimeMicros; target.documentAuthPrincipalLink = this.documentAuthPrincipalLink; }  void copyTo(ServiceDocument target); static boolean isDeleted(ServiceDocument document); static EnumSet<DocumentRelationship> compare(ServiceDocument stateA,
            ServiceDocument stateB,
            ServiceDocumentDescription desc,
            long timeEpsilon); static boolean equals(ServiceDocumentDescription description,
            ServiceDocument currentDocument, ServiceDocument newDocument); static boolean isBuiltInDocumentField(String name); static boolean isAutoMergeEnabledByDefaultForField(String name); static boolean isBuiltInSignatureExcludedDocumentField(String name); static boolean isBuiltInInfrastructureDocumentField(String name); static boolean isBuiltInNonIndexedDocumentField(String name); static boolean isBuiltInDocumentFieldWithNullExampleValue(String name); static boolean isLink(String name); static boolean isLinks(String name); static final String FIELD_NAME_SELF_LINK; static final String FIELD_NAME_VERSION; static final String FIELD_NAME_EPOCH; static final String FIELD_NAME_KIND; static final String FIELD_NAME_UPDATE_TIME_MICROS; static final String FIELD_NAME_UPDATE_ACTION; static final String FIELD_NAME_DESCRIPTION; static final String FIELD_NAME_OWNER; static final String FIELD_NAME_SOURCE_LINK; static final String FIELD_NAME_EXPIRATION_TIME_MICROS; static final String FIELD_NAME_AUTH_PRINCIPAL_LINK; static final String FIELD_NAME_SUFFIX_LINK; static final String FIELD_NAME_SUFFIX_LINKS; static final String FIELD_NAME_SUFFIX_ADDRESS; public ServiceDocumentDescription documentDescription; public long documentVersion; public Long documentEpoch; public String documentKind; public String documentSelfLink; public long documentUpdateTimeMicros; public String documentUpdateAction; public long documentExpirationTimeMicros; public String documentOwner; public String documentSourceLink; public String documentAuthPrincipalLink; }### Answer:
@Test public void copyTo() throws Throwable { assertEquals(25, ServiceDocument.class.getFields().length); ServiceDocument one = new ServiceDocument(); one.documentAuthPrincipalLink = UUID.randomUUID().toString(); one.documentDescription = null; one.documentEpoch = Utils.getNowMicrosUtc(); one.documentExpirationTimeMicros = Utils.getNowMicrosUtc(); one.documentKind = UUID.randomUUID().toString(); one.documentOwner = UUID.randomUUID().toString(); one.documentSelfLink = UUID.randomUUID().toString(); one.documentSourceLink = UUID.randomUUID().toString(); one.documentUpdateAction = UUID.randomUUID().toString(); one.documentUpdateTimeMicros = Utils.getNowMicrosUtc(); one.documentVersion = Utils.getNowMicrosUtc(); ServiceDocument two = new ServiceDocument(); one.copyTo(two); assertEquals(one.documentAuthPrincipalLink, two.documentAuthPrincipalLink); assertEquals(one.documentDescription, two.documentDescription); assertEquals(one.documentEpoch, two.documentEpoch); assertEquals(one.documentExpirationTimeMicros, two.documentExpirationTimeMicros); assertEquals(one.documentKind, two.documentKind); assertEquals(one.documentOwner, two.documentOwner); assertEquals(one.documentSelfLink, two.documentSelfLink); assertEquals(one.documentSourceLink, two.documentSourceLink); assertEquals(one.documentUpdateAction, two.documentUpdateAction); assertEquals(one.documentUpdateTimeMicros, two.documentUpdateTimeMicros); assertEquals(one.documentVersion, two.documentVersion); }