code: public static final Object deepCopy(Object source, final KunderaMetadata kunderaMetadata)
      {
          Map<Object, Object> copiedObjectMap = new HashMap<Object, Object>();
  
          Object target = deepCopyUsingMetadata(source, copiedObjectMap, kunderaMetadata);
  
          copiedObjectMap.clear();
          copiedObjectMap = null;
  
          return target;
      }
docs: Deep copy.
  
  @param source
  the source
  @param kunderaMetadata
  the kundera metadata
  @return the object