code: def __getattribute__(self, name):
      val = object.__getattribute__(self, name)
      if name == "files" and val is None:
          with DB.readonly_cursor() as c:
              query = """SELECT directory, name
                               FROM file
                              WHERE storage_instance = ?
                              ORDER BY directory, name"""
              c.execute(query, (self.uid,))
              val = ["%s/%s" % tuple(row) for row in c]
          self.files = val
      return val
  
imports: import contextlib
  import getpass
  import logging
  import os
  import sqlite3
  import tempfile
  import warnings
  from io import BytesIO
  from os.path import join
  import numpy
  from nibabel.optpkg import optional_package
  from .nifti1 import Nifti1Header
label_desc: Use image node_id 2 for calling the _StorageInstance obj's underlying member method code with example usage: obj.__getattribute__(name) and returns: val