+ @Override
+ public List<Constant> getFieldAccessors(String name) {
+ List<Constant> result = null;
+ boolean resultIsImmutable = true;
+ for(Module module : moduleMap.values()) {
+ List<Constant> accessors = module.getFieldAccessors(name);
+ if(accessors != null) {
+ if(result == null)
+ result = accessors;
+ else if(resultIsImmutable) {
+ result = new ArrayList<Constant>(result.size() + accessors.size());
+ result.addAll(accessors);
+ resultIsImmutable = false;
+ }
+ else
+ result.addAll(accessors);
+ }
+ }
+ return result;
+ }
+