public int getChildCount(Object parent) {
		if (parent instanceof DefaultMutableTreeNode) {
			return objectValues.size();
		}
		if (parent instanceof NonNativeObjectInfoWrapper) {
			NonNativeObjectInfoWrapper nnaiw = (NonNativeObjectInfoWrapper) parent;
			AbstractObjectInfo[] aois = nnaiw.getNnoi().getAttributeValues();
			if (aois != null) {
				return aois.length;
			}
			return 0;

		}
		if (parent instanceof CollectionWrapper) {
			CollectionWrapper cw = (CollectionWrapper) parent;
			return cw.getCollection().size();
		}
		if (parent instanceof MapWrapper) {
			MapWrapper mw = (MapWrapper) parent;
			return mw.getMap().size();
		}
		if (parent instanceof ArrayWrapper) {
			ArrayWrapper aw = (ArrayWrapper) parent;
			int size = aw.getArraySize();
			return size;
		}
		if (parent instanceof MapElementWrapper) {
			return 2;
		}
		if (parent instanceof MapKeyWrapper) {
			return 1;
		}
		if (parent instanceof MapValueWrapper) {
			return 1;
		}

		return 0;
	}