docs: public void becomeCloneOf(ManagedObject other)
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          "becomeCloneOf",
                          new Object[] { other });
  
          Class thisClass = getClass();
          Class otherClass = other.getClass();
          while (!thisClass.getName()
                          .equals("com.ibm.ws.objectManager.ManagedObject")) {
              java.lang.reflect.Field[] fields = thisClass.getDeclaredFields();
              try {
                  java.lang.reflect.AccessibleObject.setAccessible(fields,
                                                                   true);
              } catch (SecurityException exception) {
                  // No FFDC Code Needed.
                  ObjectManager.ffdc.processException(this,
                                                      cclass,
                                                      "becomeCloneOf",
                                                      exception,
                                                      "1:1887:1.34");
  
                  if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                      trace.exit(this,
                                 cclass,
                                 "becomeCloneOf",
                                 "via UnexpectedExceptionException");
                  throw new UnexpectedExceptionException(this,
                                                         exception);
              } // try...
  
              try {
                  for (int i = 0; i < fields.length; i++) {
                      int modifier = fields[i].getModifiers();
                      if (!java.lang.reflect.Modifier.isFinal(modifier) && !java.lang.reflect.Modifier.isStatic(modifier)) {
                          fields[i].set(this,
                                        fields[i].get(other));
                      } // if (!(java.lang.reflect.Modifier.isFinal(modifier)...
                  } // for (int i=0; i<fields.length; i++).
  
              } catch (IllegalAccessException exception) {
                  // No FFDC Code Needed.
                  ObjectManager.ffdc.processException(this,
                                                      cclass,
                                                      "becomeCloneOf",
                                                      exception,
                                                      "1:1913:1.34");
  
                  if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                      trace.exit(this,
                                 cclass,
                                 "becomeCloneOf",
                                 "via UnexpectedExceptionException");
                  throw new UnexpectedExceptionException(this,
                                                         exception);
              } // catch (IllegalAccessException exception).
  
              // Step up the class hierarchy.
              thisClass = thisClass.getSuperclass();
              otherClass = otherClass.getSuperclass();
  
          } // while (!thisClass.getName().equals("com.ibm.ws.objectManager.ManagedObject")).
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         "becomeCloneOf");
      }