private @Nullable Object getAttributeInternal(File file, String view, String attribute) {
    AttributeProvider provider = providersByName.get(view);
    if (provider == null) {
      return null;
    }

    Object value = provider.get(file, attribute);
    if (value == null) {
      for (String inheritedView : provider.inherits()) {
        value = getAttributeInternal(file, inheritedView, attribute);
        if (value != null) {
          break;
        }
      }
    }

    return value;
  }
Gets the value of the given attribute for the given view and file. Neither view nor attribute
may have a ':' character.
jimfs/src/main/java/com/google/common/jimfs/AttributeService.java