return saveMetadata(owner, parentAddress, parentMetadata);
}
} else if (method == NavAddress.COLLECTOR_METHOD) {
CollectorGem collector = owner.getCollector(address.getBase());
if (collector == null) {
return false;
}
collector.setDesignMetadata((FunctionMetadata) metadata);
// If a collector is not connected, it means it has no arguments.
if (!collector.getCollectingPart().isConnected()) {
return true;
}
// Set the argument metadata for the PartInputs.
List<PartInput> inputs = collector.getTargetInputs();
ArgumentMetadata[] argMetadata = ((FunctionMetadata) metadata).getArguments();
for (int i = 0; i < argMetadata.length; i++) {
inputs.get(i).setDesignMetadata(argMetadata[i]);
}