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; }