/// <summary>
        /// Gets reference object from the DataObject.
        /// </summary>
        /// <param name="cloningObject">Object to be cloned.</param>
        /// <returns>Cloned DataObject.</returns>
        private IDataObject GetReferencedObject(IDataObject cloningObject)
        {
            IDataObject referencedObject = default(IDataObject);

            if (this.ResolveDataObject != null)
            {
                referencedObject = ResolveDataObject(cloningObject.GetDataType(), cloningObject.ID);
            }

            if (referencedObject == null)
            {
                referencedObject = LightHouse.Elite.Core.Builder.GetDataObject(cloningObject.GetType(), this.ProxyReferences);
                referencedObject.ID = cloningObject.ID;
                referencedObject.DynamicType = cloningObject.DynamicType;
            }

            return referencedObject;
        }