// Copyright (c) 2022, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

package j$.nio.file.attribute;

public class FileOwnerAttributeView extends FileAttributeView {
  public static java.nio.file.attribute.FileOwnerAttributeView wrap_convert(
      j$.nio.file.attribute.FileOwnerAttributeView fileAttributeView) {
    return null;
  }

  public static j$.nio.file.attribute.FileOwnerAttributeView wrap_convert(
      java.nio.file.attribute.FileOwnerAttributeView fileAttributeView) {
    return null;
  }
}
