+ private Attribute fixDependencyListAttribute(Attribute attribute) {
+ Attribute newAttribute = attribute;
+ AttributeHolder attributeHolder = attributeHolderMap.get(newAttribute.getName());
+ if (attributeHolder.getRequireInterfaceOrNull() != null) {
+ newAttribute = new Attribute(newAttribute.getName(), fixObjectNames((ObjectName[]) newAttribute.getValue()));
+ }
+ return newAttribute;
+ }
+
+ private Attribute fixDependencyAttribute(Attribute attribute) {
+ Attribute newAttribute = attribute;
+ AttributeHolder attributeHolder = attributeHolderMap.get(newAttribute.getName());
+ if (attributeHolder.getRequireInterfaceOrNull() != null) {
+ newAttribute = new Attribute(newAttribute.getName(), fixObjectName((ObjectName) newAttribute.getValue()));
+ } else {
+ newAttribute = new Attribute(newAttribute.getName(), newAttribute.getValue());
+ }
+ return newAttribute;
+ }
+
+ private ObjectName[] fixObjectNames(ObjectName[] dependencies) {
+ int i = 0;
+
+ for (ObjectName dependencyOn : dependencies) {
+ dependencies[i++] = fixObjectName(dependencyOn);
+ }
+
+ return dependencies;
+ }
+