Adapter.addAdapter(Generic.class, m_root, a); Adapter.addAdapter(Generic.class, m_one, a); Adapter.addAdapter(Generic.class, m_two, a);
Adapter.addAdapter(Generic.class, a);
    private void initializeModel() {        ObjectType inte = Root.getRoot().getObjectType(INTE);        m_root = createKeyedType(m_model, "Root");        m_one = createKeyedType(m_model, "One");        m_two = createKeyedType(m_model, "Two");        Adapter a = new Generic.Adapter();        Adapter.addAdapter(Generic.class, m_root, a);        Adapter.addAdapter(Generic.class, m_one, a);        Adapter.addAdapter(Generic.class, m_two, a);//         ObjectType int3 = createUnkeyedType(//             m_model, "Int3", new ObjectType[] { inte, inte, inte });//         ObjectType oneint = createUnkeyedType(//             m_model, "OneInt", new ObjectType[] { m_one, inte });//         ObjectType twoint = createUnkeyedType(//             m_model, "TwoInt", new ObjectType[] { m_two, inte });//         ObjectType rootone = createUnkeyedType(//             m_model, "RootOne", new ObjectType[] { m_root, m_one});                                            //         ObjectType roottwo = createUnkeyedType(//             m_model, "RootTwo", new ObjectType[] { m_root, m_two });        ArrayList layer1 = new ArrayList();        layer1.add(m_root);        layer1.add(m_one);        layer1.add(inte);        // layer1.add(int3);        // layer1.add(oneint);        // layer1.add(rootone);        m_layers.put(m_root, layer1);        ArrayList layer2 = new ArrayList();        layer2.add(m_root);        layer2.add(m_two);        layer2.add(inte);        // layer2.add(int3);        // layer2.add(twoint);        // layer2.add(roottwo);        m_layers.put(m_one, layer2);        for (Iterator it = layer1.iterator(); it.hasNext(); ) {            addProperties(m_root, (ObjectType) it.next());        }        for (Iterator it = layer2.iterator(); it.hasNext(); ) {            addProperties(m_one, (ObjectType) it.next());        }    }