private InputPin connectInputPin(Design design, Call call, Port port, String name) { Port procedurePort = call.getProcedurePort(port); InputPin pin = new InputPin(procedurePort); port.setBus(pin.getBus()); IDSourceInfo info = (name != null) ? call.getProcedure().getIDSourceInfo().deriveField(name, -1, -1) : procedurePort.getIDSourceInfo(); pin.setIDSourceInfo(info); Bus pinBus = pin.getBus(); pinBus.setUsed(true); port.setBus(pinBus); design.addInputPin(pin, port); return pin; }