code: public <DatabaseType extends PropertyDatabase<KeyType, Property>, KeyType extends FieldOrMethodDescriptor, Property> DatabaseType loadPropertyDatabase(
              DatabaseType database, String fileName, String description) {
          try {
              File dbFile = new File(getDatabaseInputDir(), fileName);
              if (DEBUG) {
                  System.out.println("Loading " + description + " from " + dbFile.getPath() + "...");
              }
  
              database.readFromFile(dbFile.getPath());
              return database;
          } catch (IOException e) {
              getLookupFailureCallback().logError("Error loading " + description, e);
          } catch (PropertyDatabaseFormatException e) {
              getLookupFailureCallback().logError("Invalid " + description, e);
          }
          return null;
      }
docs: Load an interprocedural property database.
  
  @param <DatabaseType>
  actual type of the database
  @param <KeyType>
  type of key (e.g., method or field)
  @param <Property>
  type of properties stored in the database
  @param database
  the empty database object
  @param fileName
  file to load database from
  @param description
  description of the database (for diagnostics)
  @return the database object, or null if the database couldn't be loaded