@Override
  public SelType call(String methodName, SelType[] args) {
    if (args.length == 1 && "get".equals(methodName)) {
      return field((SelString) args[0]);
    } else if (extension != null) {
      return extension.call(methodName, args);
    }

    throw new UnsupportedOperationException(
        type()
            + " DO NOT support calling method: "
            + methodName
            + " with args: "
            + Arrays.toString(args));
  }
@Test(expected = UnsupportedOperationException.class)
  public void testInvalidCallGet() {
    params.call("get", new SelType[] {});
  }