private String[] read() throws IOException, FileFormatException {
			String line;
			String id = null;
			StringBuffer s = new StringBuffer();
			while ((line = readLine(buffer)) != null) {
				if (line.isEmpty())
					// if line is empty continue
					continue;
				if (Pattern.matches(FASTA_ID, line) && id != null) {
					// if line is an id but the id is not null break and read
					// from buffer
					buffer = true;
					break;
				}
				if (Pattern.matches(FASTA_ID, line) && id == null) {
					// if line is an id and the id is null store the id and
					// continue without reading from buffer
					buffer = false;
					id = line;
					continue;
				}
				if (Pattern.matches(getRegex(), line)) {
					// if line is a sequence append it to the sequence buffer
					s.append(format(line));
				} else {
					// if the line doesn't match any specified regular
					// expression a FileFormatException will be thrown
					throw new FileFormatException(formatError());
				}
			}
			// If everithing is null return null
			if (id == null && s.length() == 0)
				return null;
			return new String[] { id, s.toString() };
		}