def order_property_names(query):
  filters, orders = datastore_index.Normalize(query.filter_list(),
    query.order_list(), [])
  orders = _GuessOrders(filters, orders)
  return set(order.property()
             for order in orders if order.property() != '__key__')
Takes an array of alternating text/objects,
dataset/ETHPy150Open AppScale/appscale/AppServer/google/appengine/datastore/appscale_stub_util.py/order_property_names--crossover with--dataset/ETHPy150Open tabatkins/bikeshed/bikeshed/config.py/processTextNodes