if ( extend != null && depend != null ) throw new MappingException( "Class must either extends or depends on other classes, but not both!" );  if ( extend != null ) { if ( ! extend.getJavaClass().isAssignableFrom( javaClass ) ) throw new MappingException( "mapping.classDoesNotExtend", _javaClass.getName(), extend.getJavaClass().getName() ); _extends = extend; if ( _extends instanceof ClassDescriptorImpl ) _identities = ( identities == null ? ((ClassDescriptorImpl)_extends).getIdentities() : identities ); else  _identities = ( identities == null ? (_extends.getIdentity() == null? null : new FieldDescriptor[] { _extends.getIdentity() } ) : identities ); } else { _extends = null; _identities = identities; }        if ( (_identities != null) && (_identities.length >0) && _identities[0] != null && ( _identities[0].getContainingClassDescriptor() == null || _identities[0].getContainingClassDescriptor().getJavaClass() == _javaClass ) ) { for ( int i = 0; i < _identities.length; i++ ) _identities[i].setContainingClassDescriptor( this ); } for ( int i = 0; i < _fields.length; i++ ) _fields[i].setContainingClassDescriptor( this );
    protected ClassDescriptorImpl( Class javaClass )    {        _javaClass = javaClass;        _extends = null;        _fields = null;        _identities = null;        _depends = null;        _accessMode = null;    }