private static AdkXPathStep ParseNextStep(Fragment stepFragment) { Fragment predicateFragment = stepFragment.FindBoundedFragment('[', ']'); if (predicateFragment != null) { AdkExpression predicates = ParsePredicates(predicateFragment); String stepName = stepFragment.BeforeFragment(predicateFragment); return(new AdkXPathStep(AdkAxisType.Child, new AdkNodeNameTest(stepName), predicates)); } else { return(ParseStep(stepFragment.ToString())); } }