code: @Override
      public Object getMember(String name) {
          switch (name) {
              case "get":
              case "apply":
                  return F_get;
              case "getString":
                  return F_getString;
              case "getBinary":
                  return F_getBinary;
              case "getBoolean":
                  return F_getBoolean;
              case "getDate":
                  return F_getDate;
              case "getDouble":
                  return F_getDouble;
              case "getFloat":
                  return F_getFloat;
              case "getInt":
                  return F_getInt;
              case "getAs":
                  return F_getAs;
              case "getTimestamp":
                  return F_getTimestamp;
              case "getList":
              case "getArray":
                  return F_getList;
              case "getStruct":
                  return F_getStruct;
              case "mkString":
                  return F_mkString;
              case "schema":
                  return F_schema;
              case "length":
                  return F_length;
              case "size":
                  return F_length;
              case "anyNull":
                  return F_anyNull;
              case "copy":
                  return F_copy;
              case "equals":
                  return F_equals;
              case "fieldIndex":
                  return F_fieldIndex;
              case "hashCode":
                  return F_hashCode;
              case "isNullAt":
                  return F_isNullAt;
          }
          return super.getMember(name);
      }
docs: get the value of that named property