code: public List<String> getSupportedProperties(String inEntityTypes, List<String> propNames) throws EntityTypeNotSupportedException {
          List<String> prop = null;
          Set<String> s = null;
          if (propNames != null && propNames.size() > 0) {
              if (inEntityTypes == null) {
                  return propNames;
              }
  
              prop = new ArrayList<String>();
              if (inEntityTypes.equals(SchemaConstants.DO_ENTITY)) {
                  s = new HashSet<String>();
                  List<LdapEntity> ldapEntities = getAllLdapEntities(inEntityTypes);
                  List<String> tmpProp = null;
                  for (int i = 0; i < ldapEntities.size(); i++) {
                      tmpProp = getSupportedProperties(ldapEntities.get(i), propNames);
                      s.addAll(tmpProp);
                  }
                  prop.addAll(s);
              } else {
                  LdapEntity ldapEntity = getLdapEntity(inEntityTypes);
                  if (ldapEntity == null) {
                      throw new EntityTypeNotSupportedException(WIMMessageKey.ENTITY_TYPE_NOT_SUPPORTED, Tr.formatMessage(tc, WIMMessageKey.ENTITY_TYPE_NOT_SUPPORTED,
                                                                                                                          WIMMessageHelper.generateMsgParms(inEntityTypes)));
                  }
                  prop = getSupportedProperties(ldapEntity, propNames);
              }
          }
  
          return prop;
      }
docs: Return the sub-list of properties, for the given entity, supported by this repository, from a given list of properties.
  
  @param inEntityTypes : List of entity types
  @param propNames     : List of property names read from data object
  @return list of properties supported by repository for given entity type
  If the list propNames contain VALUE_ALL_PROPERTIES i.e '*', then return the list of properties without any modification
  Code will handle '*' later on
  @throws EntityTypeNotSupportedException