code: public static synchronized List getPropertyNames(String entityTypeName) {
          if (entityTypeName == null) {
              return null;
          }
          if (!entityTypeName.equals("Entity")) {
              return (List) properties.get(entityTypeName);
          }
          if (propertyNames != null) {
              return propertyNames;
          } else {
              {
                  List names = new ArrayList();
                  names.add(PROP_IDENTIFIER);
                  names.add(PROP_VIEW_IDENTIFIERS);
                  names.add(PROP_PARENT);
                  names.add(PROP_CHILDREN);
                  names.add(PROP_GROUPS);
                  names.add(PROP_CREATE_TIMESTAMP);
                  names.add(PROP_MODIFY_TIMESTAMP);
                  names.add(PROP_ENTITLEMENT_INFO);
                  names.add(PROP_CHANGE_TYPE);
                  propertyNames = Collections.unmodifiableList(names);
                  return propertyNames;
              }
          }
      }
docs: Gets a list of all supported properties for this model object, <b>Entity</b>
  
  @param entityTypeName
  allowed object is {@link String}
  
  @return
  returned object is {@link List}