private List<ObjectAssociation> createContributeeAssociations() {
    if (isService() || isValue()) {
      return Collections.emptyList();
    }

    final List<ObjectAssociation> contributeeAssociations = Lists.newArrayList();
    final List<ObjectAdapter> services = getServicesProvider().getServices();
    for (final ObjectAdapter serviceAdapter : services) {
      addContributeeAssociationsIfAny(serviceAdapter, contributeeAssociations);
    }
    return contributeeAssociations;
  }
 @Override
 public List<ObjectSpecification> interfaces() {
   return Collections.unmodifiableList(interfaces);
 }
 @Override
 public List<ObjectAction> getObjectActions(
     final ActionType type, final Contributed contributed, final Filter<ObjectAction> filter) {
   return getObjectActions(Collections.singletonList(type), contributed, filter);
 }
 public List<ObjectSpecification> toList() {
   return Collections.unmodifiableList(classes);
 }