title: Generate method returning EMF Unmodifiable list
body: <p>I am using EMF through annotated Java code as following</p>
  
  <pre><code>/**
   * Adds the given type to this filter. Has no effect if the given type
   * already belongs to this filter.
   * 
   * @param type
   *            the type to add
   * @model
   */
  public void addEntityType(String type);
  
  /**
   * Returns the list of types belonging to this filter. Types are identified
   * by there name.
   * 
   * @return the list of types for this entity type filter
   * 
   * @model
   */
  public List&lt;String&gt; getEntityTypes();
  
  /**
   * Removes the given type from this filter. Has no effect if the given type
   * doesn't belong to this filter.
   * 
   * @param type
   *            the type to remove
   * @model
   */
  public void removeEntityType(String type);
  </code></pre>
  
  <p>After creating ecore and genmodel files from this annotated interface, and after generating code the getEntityTypes method is modified as following:</p>
  
  <pre><code>public EList&lt;String&gt; getEntityTypes();
  </code></pre>
  
  <p>For encapsulation purpose I want this EList to be unmodifiable, thus the interface client's code can only modify the list through add and remove methods.</p>
  
  <p>Is there any clean way to do that I.e modifying Java annotation or the genmodel file to tell the generator to generate code returning unmodifiable list ? (I was unable to find that after googling ...)</p>
  
  <p>How do you manage such situations ?</p>
  
  <p>Thanks in advance</p>
  
  <p>Manu</p>