Set<SimpleUri> processedBinds = Sets.newHashSet();
for (String bindId : category.ordering()) {
SimpleUri bindUri = new SimpleUri(bindId);
if (bindUri.isValid()) {
RegisterBindButton bind = inputsById.get(new SimpleUri(bindId));
if (bind != null) {
addInputBindRow(bindUri, bind, layout);
processedBinds.add(bindUri);
}
}
}
List<ExtensionBind> extensionBindList = Lists.newArrayList();
for (Map.Entry<SimpleUri, RegisterBindButton> bind : inputsById.entrySet()) {
if (bind.getValue().category().equals(category.id()) && !processedBinds.contains(bind.getKey())) {
extensionBindList.add(new ExtensionBind(bind.getKey(), bind.getValue()));
}
}
Collections.sort(extensionBindList);
for (ExtensionBind extension : extensionBindList) {
addInputBindRow(extension.uri, extension.bind, layout);