public static List getMetaObjectInstanceProperties(EModelElement metaObject)
{
// Use the default helper context for now
TypeHelper typeHelper = HelperProvider.getDefaultContext().getTypeHelper();
List result = new UniqueEList();
List annotations = metaObject.getEAnnotations();
int size = annotations.size();
for (int i=0; i<size; i++)
{
EAnnotation annotation = (EAnnotation)annotations.get(i);
String propertyURI = annotation.getSource();
for (Iterator iter = annotation.getDetails().iterator(); iter.hasNext(); )
{
EStringToStringMapEntryImpl entry = (EStringToStringMapEntryImpl)iter.next();
String propertyName = entry.getTypedKey();
Property globalProperty = getGlobalProperty(typeHelper, propertyURI, propertyName);
if (globalProperty != null)
{
result.add(globalProperty);
}
}
}
return result;
}