When a method is called with parameters, the parameters is the copy of the real parameters. In the test, the refrence s1 and reference s2 is the copy of sb1 and sb2. Doublelessly, the first object is appended which is referenced by s1 and also by sb1. Though s2 is assigned with s1 in the method, the s2 really referencing the first object which appended, the sb2 still referencing the second object which has not been updated. Did i expain it clear?