private bool FilteredDeserialization(UObject obj, ISet <string> properties, out string output, int tabs)
        {
            if ((obj.DeserializationState & UObject.ObjectState.Deserialied) == 0)
            {
                obj.BeginDeserializing();
            }
            output = "";
            string indentation = new StringBuilder().Insert(0, "\t", tabs).ToString();

            if (obj.Properties == null)
            {
                return(false);
            }

            var propsToDeserialize = obj?.Properties.Where((p) => properties.Contains(p.Name));

            foreach (var prop in propsToDeserialize)
            {
                output += ($"{indentation}{prop.Decompile()}\r\n");
            }

            return(output.Length > 0);
        }