docs: @Requires({
      "sourceDependencyLoader != null",
      "type != null"
    })
    @Ensures({
      "importNames != null",
      "rootLineNumberIterator != null"
    })
    @SuppressWarnings("unchecked")
    protected void fetchSourceDependency() throws IOException {
      String fileName = type.getName().getBinaryName()
          + JavaUtils.SOURCE_DEPENDENCY_EXTENSION;
      InputStream in =
          sourceDependencyLoader.getResourceAsStream(fileName);
      if (in == null) {
        throw new FileNotFoundException();
      }
      ObjectInputStream oin = new ObjectInputStream(in);
      try {
        importNames = (Set<String>) oin.readObject();
        rootLineNumberIterator = ((List<Long>) oin.readObject()).iterator();
      } catch (ClassNotFoundException e) {
        throw new IOException(e);
      }
      oin.close();
    }