// TODO Could be API internal Properties GetElementData(bool createIfNecessary) { // TODO User could specify element data as a different type (rare) var elementData = (Properties)DataProviders["elementData"]; if (elementData == null && createIfNecessary) { elementData = new Properties(); DataProviders.AddNew("elementData", elementData); } return(elementData); }