private static BacNetObject createStructuredView() {
        return b("Structured View",
            p("Object_Identifier", "BACnetObjectIdentifier", c(R)),
            p("Object_Name", "CharacterString", c(R)),
            p("Object_Type", "BACnetObjectType", c(R)),
            p("Description", "CharacterString", c(O)),
            p("Node_Type", "BACnetNodeType", c(R)),
            p("Node_Subtype", "CharacterString", c(O)),
            p("Subordinate_List", "BACnetARRAY[N] of BACnetDeviceObjectReference", c(R)),
            p("Subordinate_Annotations", "BACnetARRAY[N] of CharacterString", c(O)),
            p("Property_List", "BACnetARRAY[N] of BACnetPropertyIdentifier", c(R)),
            p("Subordinate_Tags", "BACnetARRAY[N] of BACnetNameValueCollection", c(O)),
            p("Subordinate_Node_Types", "BACnetARRAY[N] of BACnetNodeType", c(O)),
            p("Subordinate_Relationships", "BACnetARRAY[N] of BACnetRelationship", c(O)),
            p("Default_Subordinate_Relationship", "BACnetRelationship", c(O)),
            p("Represents", "BACnetDeviceObjectReference", c(O)),
            p("Tags", "BACnetARRAY[N] of BACnetNameValue", c(O)),
            p("Profile_Location", "CharacterString", c(O)),
            p("Profile_Name", "CharacterString", c(O))
        );
    }
a map which maps property to type variants
protocols/bacnetip/src/test/java/org/apache/plc4x/protocol/bacnetip/BACnetObjectsDefinitions.java