def METHOD_NAME(element_factory, modeling_language, create):
    block_item = create(BlockItem, sysml.Block)
    property_item = create(PropertyItem, UML.Property)
    proxy_port_item = create(ProxyPortItem)
    connector_item = create(ConnectorItem)
    connect(proxy_port_item, proxy_port_item.handles()[0], block_item)
    connect(connector_item, connector_item.head, proxy_port_item)
    connect(connector_item, connector_item.tail, property_item)
    create_item_flow(connector_item.subject)
    current = ElementFactory()
    all(compare(current, current, element_factory))
    tree = list(organize_changes(current, modeling_language))
    assert len(tree) == 3
    assert {e.id for e in current.select(PendingChange)} == set(all_change_ids(tree))