# Classnames can have the following attributes: 
#          jdo:{persistent|transactional} 
#          super: <classname> 
#          oid: <classname> 
#          access: {public|protected|package|private} 
# Fieldnames can have the following attributes: 
#          type:<type> 
#          access: {public|protected|package|private} 
#          jdo:{persistent|transactional|transient} 
#          annotation:{key|dfg|mediated} 

org.apache.jdo.pc.PCPoint=jdo:persistent
org.apache.jdo.pc.PCPoint#x=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPoint#y=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCPoint1=jdo:persistent,oid:org.apache.jdo.pc.PCPoint1Key
org.apache.jdo.pc.PCPoint1#x=jdo:persistent,annotation:key
org.apache.jdo.pc.PCPoint1#y=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCPrimitive=jdo:persistent
org.apache.jdo.pc.PCPrimitive#_boolean=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_char=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_byte=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_short=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_int=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_long=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_float=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_double=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_String=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullString=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Boolean=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullBoolean=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Char=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullChar=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Byte=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullByte=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Short=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullShort=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Int=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullInt=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Long=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullLong=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Float=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullFloat=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Double=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullDouble=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_Number=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCPrimitive#_nullNumber=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCCollections=jdo:persistent
org.apache.jdo.pc.PCCollections#_arrayList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyArrayList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullArrayList=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_sco_arrayList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyArrayList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullArrayList=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_vector=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyVector=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullVector=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_sco_vector=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyVector=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullVector=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_hashMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyHashMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullHashMap=jdo:persistent,annotation:mediated
    
org.apache.jdo.pc.PCCollections#_sco_hashMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyHashMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullHashMap=jdo:persistent,annotation:mediated
    
org.apache.jdo.pc.PCCollections#_hashtable=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyHashtable=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullHashtable=jdo:persistent,annotation:mediated
    
org.apache.jdo.pc.PCCollections#_sco_hashtable=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyHashtable=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullHashtable=jdo:persistent,annotation:mediated
    
org.apache.jdo.pc.PCCollections#_hashSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyHashSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullHashSet=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_sco_hashSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyHashSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullHashSet=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_linkedList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyLinkedList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullLinkedList=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_sco_linkedList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyLinkedList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullLinkedList=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_treeMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyTreeMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullTreeMap=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_sco_treeMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyTreeMap=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullTreeMap=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_treeSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_emptyTreeSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_nullTreeSet=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#_sco_treeSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_emptyTreeSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollections#_sco_nullTreeSet=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollections#date=jdo:persistent,annotation:mediated
#
# End of PCCollection

org.apache.jdo.pc.PCArrays=jdo:persistent
# boolean
org.apache.jdo.pc.PCArrays#_booleanArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyBooleanArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullBooleanArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_BooleanArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_BooleanArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_BooleanArray=jdo:persistent,annotation:mediated

# char
org.apache.jdo.pc.PCArrays#_charArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyCharArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullCharArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_CharacterArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_CharacterArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_CharacterArray=jdo:persistent,annotation:mediated

# byte
org.apache.jdo.pc.PCArrays#_byteArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyByteArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullByteArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_ByteArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_ByteArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_ByteArray=jdo:persistent,annotation:mediated

# short
org.apache.jdo.pc.PCArrays#_shortArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyShortArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullShortArray=jdo:persistent,annotation:mediated
    
org.apache.jdo.pc.PCArrays#_lang_ShortArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_ShortArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_ShortArray=jdo:persistent,annotation:mediated

# int
org.apache.jdo.pc.PCArrays#_intArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyIntArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullIntArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_IntegerArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_IntegerArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_IntegerArray=jdo:persistent,annotation:mediated

# long
org.apache.jdo.pc.PCArrays#_longArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyLongArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullLongArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_LongArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_LongArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_LongArray=jdo:persistent,annotation:mediated

# float
org.apache.jdo.pc.PCArrays#_floatArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyFloatArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullFloatArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_FloatArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_FloatArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_FloatArray=jdo:persistent,annotation:mediated

# double
org.apache.jdo.pc.PCArrays#_doubleArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyDoubleArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullDoubleArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#_lang_DoubleArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_empty_lang_DoubleArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_null_lang_DoubleArray=jdo:persistent,annotation:mediated

# String
org.apache.jdo.pc.PCArrays#_stringArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyStringArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullStringArray=jdo:persistent,annotation:mediated

# Date
org.apache.jdo.pc.PCArrays#_dateArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyDateArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullDateArray=jdo:persistent,annotation:mediated

# BigDecimal
org.apache.jdo.pc.PCArrays#_bigDecimalArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyBigDecimalArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullBigDecimalArray=jdo:persistent,annotation:mediated
    
# BigInteger
org.apache.jdo.pc.PCArrays#_bigIntegerArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyBigIntegerArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullBigIntegerArray=jdo:persistent,annotation:mediated

# Locale
org.apache.jdo.pc.PCArrays#_localeArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyLocaleArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullLocaleArray=jdo:persistent,annotation:mediated

# ArrayList
org.apache.jdo.pc.PCArrays#_arrayListArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyArrayListArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullArrayListArray=jdo:persistent,annotation:mediated

# HashMap
org.apache.jdo.pc.PCArrays#_hashMapArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyHashMapArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullHashMapArray=jdo:persistent,annotation:mediated

# HashSet
org.apache.jdo.pc.PCArrays#_hashSetArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyHashSetArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullHashSetArray=jdo:persistent,annotation:mediated

# Hashtable
org.apache.jdo.pc.PCArrays#_hashtableArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyHashtableArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullHashtableArray=jdo:persistent,annotation:mediated

# LinkedList 
org.apache.jdo.pc.PCArrays#_linkedListArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyLinkedListArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullLinkedListArray=jdo:persistent,annotation:mediated

# TreeMap
org.apache.jdo.pc.PCArrays#_treeMapArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyTreeMapArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullTreeMapArray=jdo:persistent,annotation:mediated

# TreeSet
org.apache.jdo.pc.PCArrays#_treeSetArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyTreeSetArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullTreeSetArray=jdo:persistent,annotation:mediated

# Vector
org.apache.jdo.pc.PCArrays#_vectorArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_emptyVectorArray=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCArrays#_nullVectorArray=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCArrays#date=jdo:persistent,annotation:mediated
#
# End of PCArrays


# PCStroke
org.apache.jdo.pc.PCStroke=jdo:persistent
org.apache.jdo.pc.PCStroke#points=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCLargeObj=jdo:persistent
org.apache.jdo.pc.PCLargeObj#x=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCRect=jdo:persistent
org.apache.jdo.pc.PCRect#lowerRight=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCRect#upperLeft=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCRefArrays=jdo:persistent
org.apache.jdo.pc.PCRefArrays#_pcpointArray=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCInterfaces=jdo:persistent
org.apache.jdo.pc.PCInterfaces#_list=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCInterfaces#_emptyList=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCInterfaces#_nullList=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCCycle=jdo:persistent
org.apache.jdo.pc.PCCycle#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCycle#c2=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCCycle2=jdo:persistent
org.apache.jdo.pc.PCCycle2#id=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCycle2#c=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCSCO=jdo:persistent
org.apache.jdo.pc.PCSCO#_date=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullDate=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCSCO#_scoDate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullSCODate=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCSCO#_sqlDate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullSqlDate=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCSCO#_bigDecimal=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullBigDecimal=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCSCO#_bigInteger=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullBigInteger=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCSCO#_bitSet=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullBitSet=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCSCO#_locale=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCSCO#_nullLocale=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCDepartment=jdo:persistent
org.apache.jdo.pc.PCDepartment#deptid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCDepartment#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCDepartment#employees=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCEmployee=jdo:persistent
org.apache.jdo.pc.PCEmployee#empid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#lastname=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#firstname=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#hiredate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#birthdate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#salary=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#projects=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#department=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#manager=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#employees=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee#insurance=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCInsurance=jdo:persistent
org.apache.jdo.pc.PCInsurance#insid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCInsurance#carrier=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCInsurance#employee=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCProject=jdo:persistent
org.apache.jdo.pc.PCProject#projid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCProject#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCProject#employees=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCDepartment1=jdo:persistent
org.apache.jdo.pc.PCDepartment1#deptid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCDepartment1#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCDepartment1#employees=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCEmployee1=jdo:persistent
org.apache.jdo.pc.PCEmployee1#empid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#lastname=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#firstname=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#hiredate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#birthdate=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#salary=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#projects=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#department=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#manager=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#employees=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCEmployee1#insurance=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCFullTimeEmployee1=jdo:persistent,super:org.apache.jdo.pc.PCEmployee1
org.apache.jdo.pc.PCFullTimeEmployee1#range=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCInsurance1=jdo:persistent
org.apache.jdo.pc.PCInsurance1#insid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCInsurance1#carrier=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCInsurance1#employee=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCProject1=jdo:persistent
org.apache.jdo.pc.PCProject1#projid=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCProject1#name=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCProject1#employees=jdo:persistent,annotation:mediated


org.apache.jdo.pc.PCBase=jdo:persistent
org.apache.jdo.pc.PCBase#s=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCDerived=jdo:persistent,super:org.apache.jdo.pc.PCBase

#
# PCId, PCCollection are Introduced
# for regression testing bugid 4833532
#
org.apache.jdo.pc.PCId=jdo:persistent
org.apache.jdo.pc.PCId#id=jdo:persistent,annotation:mediated

org.apache.jdo.pc.PCCollection=jdo:persistent
org.apache.jdo.pc.PCCollection#id=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollection#set=jdo:persistent,annotation:mediated
org.apache.jdo.pc.PCCollection#map=jdo:persistent,annotation:mediated
