public StructureData getScalarStructure ( int index , StructureMembers . Member m ) { if ( m . getDataType ( ) != DataType . STRUCTURE ) throw new ForbiddenConversionException ( "Atomic field cannot be converted to Structure" ) ; Array ca = memberArray ( index , memberIndex ( m ) ) ; if ( ca . getDataType ( ) != DataType . STRUCTURE && ca . getDataType ( ) != DataType . SEQUENCE ) throw new ForbiddenConversionException ( "Attempt to access non-structure member" ) ; CDMArrayStructure as = ( CDMArrayStructure ) ca ; return as . getStructureData ( 0 ) ; }
Non - atomic cases