code: @Override
      public Collection<String> getTypeNames(Map<TYPE_FILTER, String> filterMap) throws AtlasException {
          assertFilter(filterMap);
  
          List<String> typeNames = new ArrayList<>();
          for (IDataType type : types_.values()) {
              if (shouldIncludeType(type, filterMap)) {
                  typeNames.add(type.getName());
              }
          }
          return typeNames;
      }
docs: Return the list of type names in the type system which match the specified filter.
  
  @return list of type names
  @param filterMap - Map of filter for type names. Valid keys are CATEGORY, SUPERTYPE, NOT_SUPERTYPE
  For example, CATEGORY = TRAIT && SUPERTYPE contains 'X' && SUPERTYPE !contains 'Y'