### Question:
JmsSessionInfo extends JmsAbstractResource implements Comparable<JmsSessionInfo> { public JmsSessionInfo copy() { JmsSessionInfo copy = new JmsSessionInfo(sessionId); copy(copy); return copy; } JmsSessionInfo(JmsConnectionInfo connectionInfo, long sessionId);  JmsSessionInfo(JmsSessionId sessionId); JmsSessionInfo copy(); @Override JmsSessionId getId(); @Override void visit(JmsResourceVistor vistor); int getAcknowledgementMode(); void setAcknowledgementMode(int acknowledgementMode); boolean isTransacted(); boolean isSendAcksAsync(); void setSendAcksAsync(boolean sendAcksAsync); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj); @Override int compareTo(JmsSessionInfo other); JmsMessageIDPolicy getMessageIDPolicy(); void setMessageIDPolicy(JmsMessageIDPolicy messageIDPolicy); JmsPrefetchPolicy getPrefetchPolicy(); void setPrefetchPolicy(JmsPrefetchPolicy prefetchPolicy); JmsPresettlePolicy getPresettlePolicy(); void setPresettlePolicy(JmsPresettlePolicy presettlePolicy); JmsRedeliveryPolicy getRedeliveryPolicy(); void setRedeliveryPolicy(JmsRedeliveryPolicy redeliveryPolicy); JmsDeserializationPolicy getDeserializationPolicy(); void setDeserializationPolicy(JmsDeserializationPolicy deserializationPolicy);  }### Answer:
@Test public void testCopy() { JmsSessionInfo info = new JmsSessionInfo(firstId); info.setAcknowledgementMode(2); info.setSendAcksAsync(true); info.setMessageIDPolicy(new JmsDefaultMessageIDPolicy()); info.setPrefetchPolicy(new JmsDefaultPrefetchPolicy()); info.setPresettlePolicy(new JmsDefaultPresettlePolicy()); info.setRedeliveryPolicy(new JmsDefaultRedeliveryPolicy()); JmsSessionInfo copy = info.copy(); assertEquals(2, copy.getAcknowledgementMode()); assertEquals(true, copy.isSendAcksAsync()); assertNotSame(info.getPrefetchPolicy(), copy.getPrefetchPolicy()); assertNotSame(info.getPresettlePolicy(), copy.getPresettlePolicy()); assertNotSame(info.getRedeliveryPolicy(), copy.getRedeliveryPolicy()); assertNotSame(info.getMessageIDPolicy(), copy.getMessageIDPolicy()); assertEquals(info, copy); }