Save complex object using Morphia

I want to save complex objects as a property of another object A, but I can’t get it working (I receive CodecConfigurationException as my B object is not supported by MongoDB)

@Entity(value = "someCollection", noClassnameStored = true)
public class User {
    @Id
    private final String key = UUID.randomUUID().toString();
    private int age = 27;
    private String boss = "no info";
    public Map<String, Object> ownedItems = new HashMap<>();
}

public class Apple {
    private int variable = 6, variable2 = 9;
    private String randomQuotation = "Oh, hi Mark";
}

public class HybridCar {
    private int wheels = 4, speed = 260;
}

public class Main {
    public static void main(String... args){
        MongoClient mongo = new MongoClient();
        Morphia morphia = new Morphia();
        morphia.map(User.class);

        User user = new User();
        user.ownedItems.put("Rabbit", new Apple());
        user.ownedItems.put("Tortoise", new HybridCar());

        morphia.createDatastore(mongo, "someDatabase").save(user);
    }
}

I’d like to have such result:

 - someDatabase:
     - someCollection:
         - (some random uuid as "User" "name"):
             - age: 27
             - boss: no info
             - ownedItems:
                 - Rabbit:
                     - variable: 6
                     - variable2: 9
                     - randomQuotation: Oh, hi Mark
                 - Tortoise:
                     - wheels: 4
                     - speed: 200

How to achieve it?
I know that there is something like @Embeed and it works, but only if object is save as independent variable, not element of map.
I don’t get how does it all work. I would be very grateful for some code or hint.
I beg you, do not write “look at morphia docs” because I’ve already lost 4 hours on it and I’m feeling blue 🙁