docs: @Override
      public DependencyInstance nextInstance() throws IOException {
  
          ArrayList<String[]> lstLines = getFileContentAsArray();
  
          if (lstLines.isEmpty()) {
              return null;
          }
  
          int length = lstLines.size();
          String[] forms = new String[length + 1];
          String[] lemmas = new String[length + 1];
          String[] cpos = new String[length + 1];
          String[] pos = new String[length + 1];
          String[][] feats = new String[length + 1][];
          String[] deprels = new String[length + 1];
          int[] heads = new int[length + 1];
  
          forms[0] = "<root>";
          lemmas[0] = "<root-LEMMA>";
          pos[0] = "<root-POS>";
          cpos[0] = pos[0];
          deprels[0] = "<no-type>";
          heads[0] = -1;
  
          boolean hasLemma = false;
  
          for (int i = 1; i < length + 1; ++i) {
              String[] parts = lstLines.get(i-1);
              forms[i] = parts[1];
              if (!parts[2].equals("_")) {
                  lemmas[i] = parts[2];
                  hasLemma = true;
              }
  
              pos[i] = parts[3];
              cpos[i] = pos[i];
  
              if (!parts[5].equals("_")) {
                  feats[i] = parts[5].split("\\|");
              }
  
              if (parts[6].equals("_")) {
                  System.out.println("Error in sentence:\n");
                  System.out.println(parts[0] + " " + parts[1] + " " +  parts[2] + " " + parts[3]);
              }
  
              heads[i] = Integer.parseInt(parts[6]);
              deprels[i] = parts[7];
  
          }
          if (!hasLemma) lemmas = null;
  
          return new DependencyInstance(forms, lemmas, cpos, pos, feats, heads, deprels, null, null);
      }