ForwardInfo implements Cloneable { @Override public ForwardInfo clone() { ForwardInfo forwardInfo; try { forwardInfo = (ForwardInfo) super.clone(); forwardInfo.forwardServers = new LinkedList<>(forwardServers); return forwardInfo; } catch (CloneNotSupportedException e) { } return null; } ForwardInfo();  ForwardInfo(ForwardType type);  ForwardInfo(ForwardType type, Integer forwardServer); ForwardType getType(); void setType(ForwardType type); List<Integer> getForwardServers(); boolean hasServer(Integer serverId); void setForwardServers(List<Integer> forwardServers); void addForwardServers(Integer server); @Override String toString(); @Override ForwardInfo clone();  }
@Test public void testClone(){ ForwardInfo forwardInfo = new ForwardInfo(ForwardType.MOVING, 1); ForwardInfo clone = forwardInfo.clone(); clone.addForwardServers(2); Assert.assertNotEquals(forwardInfo.getForwardServers().size(), clone.getForwardServers().size()); }