PmExpressionApi { public static Object getByExpression(PmObject pm, String expression) throws PmRuntimeException { Object result = apiHandler.findByExpression(pm, expression); if (result == null) { throw new PmRuntimeException(pm, "Unable to resolve the expression '" + expression + "'."); } return result; }  static Object findByExpression(PmObject pm, String expression); static Object getByExpression(PmObject pm, String expression); @SuppressWarnings("unchecked") static T findByExpression(PmObject pm, String expression, Class<T> resultType); static T getByExpression(PmObject pm, String propName, Class<T> propType); static Object findNamedObject(PmObject pm, String objName); static SyntaxVersion getSyntaxVersion(PmObject pm);  }
@Test public void testSimpleNavigatingExpr() { assertEquals("abc", PmExpressionApi.getByExpression(testPm.child1.child2, "pmParent.pmParent.s.value")); }