#NEWLINE# def _get_fd_params( self ) : #NEWLINE# #INDENT# '\n        Get the list of parameters that are needed to perform a\n        finite difference on this `Group`.\n\n        Returns\n        -------\n        list of str\n            List of names of params that have sources that are IndepVarComps\n            or sources that are outside of this `Group` .\n        ' #NEWLINE# if ( self . _fd_params is None ) : #NEWLINE# #INDENT# conns = self . connections #NEWLINE# mypath = ( ( self . pathname + '.' ) if self . pathname else '' ) #NEWLINE# mplen = len ( mypath ) #NEWLINE# params = self . _fd_params = [ ] #NEWLINE# for ( tgt , ( src , idxs ) ) in iteritems ( conns ) : #NEWLINE# #INDENT# if ( mypath == tgt [ : mplen ] ) : #NEWLINE# #INDENT# scname = src . rsplit ( '.' , 1 ) [ 0 ] #NEWLINE# if ( mypath == scname [ : mplen ] ) : #NEWLINE# #INDENT# src_comp = self . _subsystem ( scname [ mplen : ] ) #NEWLINE# if isinstance ( src_comp , IndepVarComp ) : #NEWLINE# #INDENT# params . append ( tgt [ mplen : ] ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# scoped_tgt = tgt [ mplen : ] #NEWLINE# if ( not self . params . _dat [ scoped_tgt ] . pbo ) : #NEWLINE# #INDENT# params . append ( scoped_tgt ) #NEWLINE# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# #UNINDENT# return self . _fd_params