docs: private AnimationFactory.Factory getAnimationFactory(
              final JSONObject animationSpec) throws JSONException,
              NoSuchMethodException {
          if (animationSpec.has("duration")) {
              Log.d(TAG, "getAnimationFactory(): making factory for spec: %s", animationSpec);
              return AnimationFactory.makeFactory(animationSpec);
          } else if (animationSpec.has("id")) {
              final String id = animationSpec.getString("id");
              Log.d(TAG, "getAnimationFactory(): getting factory for '%s'", id);
              return AnimationFactory.getFactory(id);
          } else {
              throw Exceptions.RuntimeAssertion("Invalid animation spec: %s",
                                                animationSpec);
          }
      }