public static DataNode FromBinaryBytes(byte[] bytes)
        {
            DataNode result;

            try
            {
                using (MemoryStream memoryStream = new MemoryStream(bytes))
                {
                    using (BinaryReader binaryReader = new BinaryReader(memoryStream))
                    {
                        result = DataNodeBinary.FromBinaryStream(binaryReader);
                    }
                }
            }
            catch (Exception exception)
            {
                Debug.LogError("Binary bytes load failed!");
                Debug.LogException(exception);
                result = null;
            }
            return(result);
        }
        public static DataNode FromBinaryFile(string fileName)
        {
            if (!File.Exists(fileName))
            {
                Debug.LogError("File " + fileName + " doesn't exist");
                return(null);
            }
            DataNode result;

            try
            {
                using (BinaryReader binaryReader = new BinaryReader(File.Open(fileName, FileMode.Open)))
                {
                    result = DataNodeBinary.FromBinaryStream(binaryReader);
                }
            }
            catch (Exception exception)
            {
                Debug.LogError("Binary file load failed!");
                Debug.LogException(exception);
                result = null;
            }
            return(result);
        }