public MetaObject createMetaObject(Class type, Schema schema) { CreationMetaObject metaObject;  try { metaObject = new CreationMetaObject(type); } catch (Exception e) { throw new RuntimeException("could not create a new instance of " + type, e); }  addSlotDescriptions(schema, metaObject); setInstanceCreator(type, schema, metaObject); addCompositeSlotSetters(schema, metaObject);  return metaObject;
public MetaObject createMetaObject(Object object, Schema schema) { if (object instanceof Collection) { MetaObjectCollection multipleMetaObject = createMetaObjectCollection();  for (Iterator iter = ((Collection) object).iterator(); iter.hasNext();) { Object element = (Object) iter.next();  multipleMetaObject.add(createOneMetaObject(element, schema)); }  return multipleMetaObject; } else { return createOneMetaObject(object, schema); }
    public MetaObject createMetaObject(Class type, Schema schema) {        CreationMetaObject metaObject;                try {            metaObject = new CreationMetaObject(type);        } catch (Exception e) {            throw new RuntimeException("could not create a new instance of " + type, e);        }                 addSlotDescriptions(schema, metaObject);        setInstanceCreator(type, schema, metaObject);        addCompositeSlotSetters(schema, metaObject);                return metaObject;    }