code: public static <P extends Enum<P>> PointF optPointF(final JSONObject json, P e, PointF fallback) {
          JSONObject value = optJSONObject(json, e);
          PointF p = asPointF(value, fallback);
  
          return p;
      }
docs: Return the value mapped by enum if it exists and is a {@link JSONObject} by mapping "x" and
  "y" members into a {@link PointF}.  The values in {@code fallback} are used if either field
  is missing; if {@code fallback} is {@code null}, {@link Float#NaN} is used.
  
  @param json     {@code JSONObject} to get data from
  @param e        {@link Enum} labeling the data to get
  @param fallback Default value to return if there is no mapping
  @return An instance of {@code PointF} or {@code fallback} if there is no object mapping for
  {@code e}.