code: List<Identity> readIdentitiesAnswer() throws IOException {
      // Read the first 9 bytes from the InputStream which are the
      // SSH2_AGENT_IDENTITIES_ANSWER headers. Return an IdentitiesAnswerHeaders object that
      // represents the message.
      final byte[] headerBytes = readBytes(9, "SSH2_AGENT_IDENTITIES_ANSWER");
      log.debug("Received SSH2_AGENT_IDENTITIES_ANSWER message from ssh-agent.");
      final IdentitiesAnswerHeaders headers = IdentitiesAnswerHeaders.from(headerBytes);
  
      // 5 is the sum of the number of bytes of response code and count
      final byte[] bytes = readBytes(headers.getLength() - 5);
      final Iterator<byte[]> byteIterator = new ByteIterator(bytes);
  
      final List<Identity> identities = Lists.newArrayList();
      while (byteIterator.hasNext()) {
        final byte[] keyBlob = byteIterator.next();
        final byte[] keyComment = byteIterator.next();
        try {
          identities.add(DefaultIdentity.from(keyBlob, new String(keyComment)));
        } catch (InvalidKeyException | InvalidKeySpecException | NoSuchAlgorithmException
            | UnsupportedOperationException e) {
          log.warn("Unable to parse SSH identity. Skipping. {}", e);
        }
      }
  
      return identities;
    }
docs: Return a list of {@link Identity} from the bytes in the ssh-agent's {@link InputStream}.
  @return A list of {@link Identity}