Inverted_IfcPresentationLayerAssignment_AssignedItems_type::size_type Inverted_IfcPresentationLayerAssignment_AssignedItems_type::erase(const Step::RefPtr< IfcLayeredItem > &value) {
    IfcLayeredItem *inverse = const_cast< IfcLayeredItem * > (value.get());
    if (inverse->getIfcRepresentation() != NULL) {
        IfcRepresentation *object = inverse->getIfcRepresentation();
        object->getLayerAssignments().erase(mOwner);
    }
    else if (inverse->getIfcRepresentationItem() != NULL) {
        IfcRepresentationItem *object = inverse->getIfcRepresentationItem();
        object->getLayerAssignments().erase(mOwner);
    }
    return Set_IfcLayeredItem_1_n::erase(value);
}
void Inverted_IfcPresentationLayerAssignment_AssignedItems_type::insert(const Step::RefPtr< IfcLayeredItem > &value) throw(std::out_of_range) {
    IfcLayeredItem *inverse = const_cast< IfcLayeredItem * > (value.get());
    Set_IfcLayeredItem_1_n::insert(value);
    if (inverse->getIfcRepresentation() != NULL) {
        IfcRepresentation *object = inverse->getIfcRepresentation();
        object->getLayerAssignments().insert(mOwner);
    }
    else if (inverse->getIfcRepresentationItem() != NULL) {
        IfcRepresentationItem *object = inverse->getIfcRepresentationItem();
        object->getLayerAssignments().insert(mOwner);
    }
}
const Inverse_Set_IfcStyledItem_0_1 &IfcRepresentationItem::getStyledByItem() const {
    IfcRepresentationItem * deConstObject = const_cast< IfcRepresentationItem * > (this);
    return deConstObject->getStyledByItem();
}
const Inverse_Set_IfcPresentationLayerAssignment_0_n &IfcRepresentationItem::getLayerAssignments() const {
    IfcRepresentationItem * deConstObject = const_cast< IfcRepresentationItem * > (this);
    return deConstObject->getLayerAssignments();
}