code: def parse_parameters(cls, parameters, possible_fields):
          
          if isinstance(possible_fields, string_types):
              possible_fields = [possible_fields]
          possible_fields = map(str, possible_fields)
          # we'll just use float as the dtype, as we just need this for names
          arr = cls(1, dtype=zip(possible_fields,
                                 len(possible_fields)*[float]))
          # try to perserve order
          return list(get_needed_fieldnames(arr, parameters))
docs: Parses a list of parameters to get the list of fields needed in
          order to evaluate those parameters.
  
          Parameters
          ----------
          parameters : (list of) string(s)
              The list of desired parameters. These can be (functions of) fields
              or virtual fields.
          possible_fields : (list of) string(s)
              The list of possible fields.
  
          Returns
          -------
          list :
              The list of names of the fields that are needed in order to
              evaluate the given parameters.