code: public static MSDOSHeader newInstance(byte[] headerbytes, long peSigOffset)
  			throws IOException {
  		MSDOSHeader header = new MSDOSHeader(headerbytes, peSigOffset);
  		header.read();
  		return header;
  	}
docs: Creates and returns an instance of the MSDOSHeader with the given bytes
  and the file offset of the PE signature.
  
  @param headerbytes
  the bytes that make up the MSDOSHeader
  @param peSigOffset
  file offset to the PE signature
  @return MSDOSHeader instance
  @throws IOException
  if header can not be read.