#NEWLINE# def _read_nested_position( self , field_name , field_type ) : #NEWLINE# #INDENT# field_names = field_name . split ( '.' ) #NEWLINE# if ( len ( field_names ) > 1 ) : #NEWLINE# #INDENT# fd = None #NEWLINE# _reader = self #NEWLINE# for i in xrange ( 0 , len ( field_names ) ) : #NEWLINE# #INDENT# fd = _reader . _class_def . get_field ( field_names [ i ] ) #NEWLINE# if ( fd is None ) : #NEWLINE# #INDENT# break #NEWLINE# #UNINDENT# if ( i == ( len ( field_names ) - 1 ) ) : #NEWLINE# #INDENT# break #NEWLINE# #UNINDENT# pos = _reader . read_position ( fd ) #NEWLINE# self . _in . set_position ( pos ) #NEWLINE# is_none = self . _in . read_boolean ( ) #NEWLINE# if is_none : #NEWLINE# #INDENT# raise ValueError ( 'Parent field is null: ' . format ( field_names [ i ] ) ) #NEWLINE# #UNINDENT# _reader = self . _portable_serializer . create_reader ( self . _in ) #NEWLINE# #UNINDENT# if ( fd is None ) : #NEWLINE# #INDENT# raise self . _create_unknown_field_exception ( field_name ) #NEWLINE# #UNINDENT# if ( fd . field_type != field_type ) : #NEWLINE# #INDENT# raise HazelcastSerializationError ( "Not a '{}' field: {}" . format ( field_type , field_name ) ) #NEWLINE# #UNINDENT# return _reader . read_position ( fd ) #NEWLINE# #UNINDENT# raise self . _create_unknown_field_exception ( field_name )