public long getAttrAsLongObjectNotNull(ZooClassDef clsDef, ZooFieldDef field) {
    	int skip = readHeader(clsDef);
    	skip += field.getOffset();
    	in.skipRead(skip);
    	if (in.readByte() == -1) {
    		return BitTools.NULL;
    	}
		switch (field.getJdoType()) {
		case DATE: return in.readLong();
		case STRING: return in.readLong();
		case REFERENCE: 
				in.readLong();//schema id
				return in.readLong();
		default: 
			throw new IllegalArgumentException(field.getJdoType() + " " + field.getName());
		}
	}
public long getAttrAsLongObjectNotNull ( ZooClassDef clsDef , ZooFieldDef field ) { int skip = readHeader ( clsDef ) ; skip += field . getOffset ( ) ; in . skipRead ( skip ) ; if ( in . readByte ( ) == - 1 ) { return BitTools . NULL ; } switch ( field . getJdoType ( ) ) { case DATE : return in . readLong ( ) ; case STRING : return in . readLong ( ) ; case REFERENCE : in . readLong ( ) ; return in . readLong ( ) ; default : throw new IllegalArgumentException ( field . getJdoType ( ) + " " + field . getName ( ) ) ; } }
}