Buggy code:
public class ValueMetaDataImpl implements ValueMetaData { private static final Localizer _loc = Localizer . forPackage ( ValueMetaDataImpl . class ) ; private FieldMetaData _owner ; private Class _decType = Object . class ; private int _decCode = JavaTypes . OBJECT ; private ClassMetaData _decTypeMeta = null ; private Class _type = null ; private int _code = JavaTypes . OBJECT ; private ClassMetaData _typeMeta = null ; private Class _typeOverride = null ; private int _delete = CASCADE_NONE ; private int _persist = CASCADE_AUTO ; private int _attach = CASCADE_IMMEDIATE ; private int _detach = CASCADE_AUTO ; private int _refresh = CASCADE_AUTO ; private boolean _serialized = false ; private Boolean _embedded = null ; private ClassMetaData _embeddedMeta = null ; private int _resMode = MODE_NONE ; private String _mappedBy = null ; private FieldMetaData _mappedByMeta = null ; protected ValueMetaDataImpl ( FieldMetaData owner ) { } protected ValueMetaDataImpl ( ) { } public FieldMetaData getFieldMetaData ( ) { } public MetaDataRepository getRepository ( ) { } public Class getType ( ) { } public void setType ( Class type ) { } public int getTypeCode ( ) { } public void setTypeCode ( int code ) { } public boolean isTypePC ( ) { } public ClassMetaData getTypeMetaData ( ) { } public Class getDeclaredType ( ) { } public void setDeclaredType ( Class type ) { } public int getDeclaredTypeCode ( ) { } public void setDeclaredTypeCode ( int code ) { } public boolean isDeclaredTypePC ( ) { } public ClassMetaData getDeclaredTypeMetaData ( ) { } public boolean isEmbedded ( ) { } public void setEmbedded ( boolean embedded ) { } public boolean isEmbeddedPC ( ) { } public ClassMetaData getEmbeddedMetaData ( ) { } public ClassMetaData addEmbeddedMetaData ( int access ) { } public ClassMetaData addEmbeddedMetaData ( ) { } public int getCascadeDelete ( ) { } public void setCascadeDelete ( int delete ) { } public int getCascadePersist ( ) { } public void setCascadePersist ( int persist ) { } public int getCascadeAttach ( ) { } public void setCascadeAttach ( int attach ) { } public int getCascadeDetach ( ) { } public void setCascadeDetach ( int detach ) { } public int getCascadeRefresh ( ) { } public void setCascadeRefresh ( int refresh ) { } public boolean isSerialized ( ) { } public void setSerialized ( boolean serialized ) { } public String getValueMappedBy ( ) { } public void setValueMappedBy ( String mapped ) { } public FieldMetaData getValueMappedByMetaData ( ) { } public Class getTypeOverride ( ) { } public void setTypeOverride ( Class val ) { } public String toString ( ) { } public int getResolve ( ) { } public void setResolve ( int mode ) { } public void setResolve ( int mode , boolean on ) { } public boolean resolve ( int mode ) { } private void resolveDeclaredType ( Class type ) { ClassMetaData meta = _owner . getRepository ( ) . getMetaData ( type , _owner . getDefiningMetaData ( ) . getEnvClassLoader ( ) , false ) ; if ( meta != null ) _decCode = JavaTypes . PC ; <START_BUG> if ( ( meta != null ) && ( meta . isEmbeddedOnly ( ) ) ) <END_BUG> setEmbedded ( true ) ; if ( ! ( isEmbedded ( ) ) ) _decTypeMeta = meta ; } public void copy ( ValueMetaData vmd ) { } }

Fix:
if ( ( ( meta != null ) && ( meta . isEmbeddedOnly ( ) ) ) && ( ! ( meta . isAbstract ( ) ) ) )