+ String componentName = graph.getRelatedValue(component, L0.HasName, Bindings.STRING);
+ Variable possibleChild = parameter.getPossibleChild(graph, componentName);
+ if(possibleChild != null) {
+ Resource type = possibleChild.getPossibleType(graph, STR.Component);
+ if(type != null) {
+ result.add(new ActualConnectionDescriptor(parameter, component, possibleChild.getType(graph), connectionPoint));
+ } else {
+ throw new DatabaseException("Child does not have a structural type: " + possibleChild.getURI(graph));
+ }
+ } else {
+ Resource type = graph.getPossibleType(component, STR.Component);
+ if(type != null) {
+ result.add(new ActualConnectionDescriptor(parameter, component, type, connectionPoint));
+ } else {
+ throw new DatabaseException("Child with name " + componentName + " does not have a structural type: " + parameter.getURI(graph));
+ }
+ }