so I've used reflect on the offending object and I'm now more confused. The fields that were given are:
These are all fields that puyo should have and some of them are only contained in puyo (like GroupV2 and Frozen) however it is missing a bunch of fields (like members and length and Filter) that all the other puyo have. Both the present and missing fields are from both the parent classes and the extension (Puyo). If I print the class of the object I get the expected (Puyo). Do you have any idea why this could be? and just to be clear does the Type.getClass function return the type of the object itself or just the type of the variable storing it?