code: public static FieldPath of(@Nonnull String... fieldNames) {
      Preconditions.checkArgument(
          fieldNames.length > 0, "Invalid field path. Provided path must not be empty.");
  
      for (int i = 0; i < fieldNames.length; ++i) {
        Preconditions.checkArgument(
            fieldNames[i] != null && !fieldNames[i].isEmpty(),
            "Invalid field name at argument " + (i + 1) + ". Field names must not be null or empty.");
      }
  
      return new AutoValue_FieldPath(ImmutableList.copyOf(fieldNames));
    }
docs: Creates a FieldPath from the provided field names. If more than one field name is provided, the
  path will point to a nested field in a document.
  
  @param fieldNames A list of field names.
  @return A {@code FieldPath} that points to a field location in a document.