test_class.file: ch-commons-util/src/test/java/com/cloudhopper/commons/util/UnwrappedWeakReferenceTest.java
test_class.identifier: UnwrappedWeakReferenceTest
test_case.body: @Test
      @SuppressWarnings("IncompatibleEquals")
      public void equals() throws Exception {
          String o = new String();
          
          // verify WeakReference does not work correctly with CopyOnWriteArrayList
          WeakReference ref0 = new UnwrappedWeakReference(o);
          WeakReference ref1 = new UnwrappedWeakReference(o);
          
          Assert.assertTrue(ref0.equals(ref1));
          // also test non-unwrapping
          Assert.assertTrue(ref0.equals(o));
          Assert.assertTrue(ref1.equals(o));
      }
test_case.class_method_signature: UnwrappedWeakReferenceTest.equals()
test_case.full_signature: @Test @SuppressWarnings("IncompatibleEquals") public void equals()
test_case.identifier: equals
test_case.invocations: assertTrue equals assertTrue equals assertTrue equals
test_case.modifiers: @Test @SuppressWarnings("IncompatibleEquals") public
test_case.parameters: ()
test_case.return: void
test_case.signature: void equals()
focal_class.file: ch-commons-util/src/main/java/com/cloudhopper/commons/util/UnwrappedWeakReference.java
focal_class.identifier: UnwrappedWeakReference
focal_class.class_method_signature: UnwrappedWeakReference.UnwrappedWeakReference(T ref)
focal_class.full_signature: public  UnwrappedWeakReference(T ref)
focal_class.identifier: UnwrappedWeakReference
focal_class.modifiers: public
focal_class.parameters: (T ref)
focal_class.signature:  UnwrappedWeakReference(T ref)
focal_class.class_method_signature: UnwrappedWeakReference.equals(Object obj)
focal_class.full_signature: @Override public boolean equals(Object obj)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object obj)
focal_class.return: boolean
focal_class.signature: boolean equals(Object obj)
focal_class.class_method_signature: UnwrappedWeakReference.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.superclass: extends WeakReference<T>
focal_method.body: @Override
      public boolean equals(Object obj) {
          // unwrap both objects!
          T thisObject = this.get();
          
          // if the other object is also a WeakRefe
          if (obj instanceof WeakReference) {
              obj = ((WeakReference)obj).get();
          }
          
          // check if anything is null (was garbage collected)
          if (thisObject == null) {
              if (obj == null) {
                  return true;
              } else {
                  return false;
              }
          }
          
          return thisObject.equals(obj);
      }
focal_method.class_method_signature: UnwrappedWeakReference.equals(Object obj)
focal_method.full_signature: @Override public boolean equals(Object obj)
focal_method.identifier: equals
focal_method.invocations: get get equals
focal_method.modifiers: @Override public
focal_method.parameters: (Object obj)
focal_method.return: boolean
focal_method.signature: boolean equals(Object obj)