code: public boolean isBinary() throws IOException {
  		InputStream is = getInputStream();
  
  		try {
  			byte[] bytes = new byte[3];
  
  			int count = is.read(bytes);
  
  			ByteOrderMask bom = ByteOrderMask.valueOf(bytes, 0, count);
  			if(bom != null){
  				return false;
  			}
  
  			while(true){
  				int i = is.read();
  
  				switch(i){
  					case -1:
  						return false;
  					case 0:
  						return true;
  					default:
  						break;
  				}
  			}
  		} finally {
  			is.close();
  		}
  	}
docs: Binary payloads should be manipulated as byte arrays.
  Non-binary payloads (in other words, text payloads) should be manipulated as strings.
  
  The default implementation makes the decision by reading through the payload and looking for null bytes (0x00).
  
  @see #loadByteArray()
  @see #storeByteArray(byte[])
  @see #loadString()
  @see #storeString(String)