title: Popcorn API: How to enable expansion on a custom translation?
body: <p>I'm using <a href="https://github.com/SkywardApps/popcorn" rel="nofollow noreferrer">Popcorn</a> to allow clients of my API to specify how deeply to unravel the properties of the requested object.</p>
  
  <p>I'm having trouble mapping one of my data model entities to a projection. All the entities are entity framework data models so I'm using 'MapEntityFramework' where I can.</p>
  
  <p>The data model looks like this:</p>
  
  <pre><code>public class DataModel {
      public List&lt;Person&gt; Persons { get; set; }
  }
  
  public class Person {
      public Guid Id { get; set; }
      public List&lt;Pet&gt; Pets {get; set;}
  
      public List&lt;Pet&gt; GetLivingPets() {
         // Do some computation to get the pets that are alive
      }
  }
  
  public class Pet {
      public Guid Id { get; set; }
      public string Name { get; set; }
      public bool Alive { get; set; }
  }
  
  public PetProjection {
      public Guid? Id { get; set; }
      public string Name { get; set; } 
  }
  
  
  public PersonProjection {
      public Guid? Id { get; set; }
      public List&lt;PetProjection&gt; LivingPets {get; set;}
  }
  </code></pre>
  
  <p>The request I'd like my clients to be able to make requests that specify the nesting of the dynamically generated list.
  <a href="http://localhost:5000/api/1/Persons?include=[Id,LivingPets[Name]]" rel="nofollow noreferrer">http://localhost:5000/api/1/Persons?include=[Id,LivingPets[Name]]</a></p>
  
  <p>Which would return a list like this: </p>
  
  <pre><code>[
      {
          "Id": "00000000-0000-0000-0000-000000000000",
          "LivingPets": [
              {
                  "Name": "Capt Meowmix"
              }
          ]
      }
  ]
  </code></pre>
  
  <p>This is the mapping that I am attempting:</p>
  
  <pre><code>popcornConfig
  .Map&lt;Person, PersonProjection&gt;(config: (personConfig) =&gt;
  {
  
       personConfig.Translate(fp =&gt; fp.LivingPets, f =&gt; f.GetLivingPets()?.ToList()); // Error: 'Dictionary&lt;string, object&gt;' does not contain a definition for 'GetLivingPets' and no extension method 'GetLivingPets' accepting a first argument of type 'Dictionary&lt;string, object&gt;' could be found (are you missing a using directive or an assembly reference?)   
  
  })
  .MapEntityFramework&lt;Pet, PetProjection, DataModel&gt;(dbContextOptionsBuilder);
  </code></pre>
  
  <p>What do I need to do to write a mapping that would make use of another mapping I've already defined? Is this something that can be done with the library? Am I missing something?</p>