private static int readSeqLineP(
      PushbackReader in,
      int s,
      int pos,
      int maxPos,
      char[][] data,
      String[] identifiers,
      FormattedInput fi,
      int maxLabelLength,
      int lineLength)
      throws IOException {
    if (pos == 0) {
      identifiers[s] = fi.readLabel(in, maxLabelLength).toUpperCase();
    }

    if (s == 0) {
      String thisLine = fi.readLine(in, false);

      if (thisLine.length() > maxPos - pos) {
        lineLength = maxPos - pos;
      } else {
        lineLength = thisLine.length();
      }

      for (int i = 0; i < lineLength; i++) {
        data[0][pos + i] = thisLine.charAt(i);
        if (data[0][pos + i] == '.') {
          throw new IllegalArgumentException(
              "Copy character (.) in first sequence not allowed (pos. " + (i + pos + 1) + ")");
        }
      }
    } else {
      for (int i = 0; i < lineLength; i++) {
        data[s][pos + i] = (char) fi.readNextChar(in);
        if (data[s][pos + i] == '.') {
          data[s][pos + i] = data[0][pos + i];
        }
      }
      fi.nextLine(in);
    }
    return lineLength;
  }