@Override
 public Property getProperty(String eName) {
   // Get instance, returns null if not found
   //
   EFeatureProperty<?, ? extends Property> eProperty = eInternal.getPropertyMap().get(eName);
   //
   // Get property instance, return null if not found
   //
   return (eProperty != null ? eProperty.getData() : null);
 }
 @Override
 public List<Property> getProperties() {
   // Initialize
   //
   List<Property> eList = new ArrayList<Property>();
   //
   // Loop over all EFeatureProperty instances,
   // collecting current Property instances.
   //
   for (EFeatureProperty<?, ? extends Property> it : eInternal.getProperties()) {
     eList.add(it.getData());
   }
   // Finished
   //
   return Collections.unmodifiableList(eList);
 }