code: @SuppressWarnings("unchecked")
  	public Map<String, String> getDatatypes() {
  		if (datatypes == null) {
  			datatypes = new DualHashBidiMap();
  		}
  		return datatypes;
  	}
docs: Returns a set of custom data types for this app.
  An app can have many custom types which describe its domain.
  @return a map of type names (plural form to singular)