class EventFlagsLayout extends Struct {

  @Bin(order = 1, name = "bytes", type = BinType.BYTE_ARRAY)
  byte[] bytes;

  /** There is probably a cleaner way to do this but making it work for now */
  public EventFlags decode() {<FILL_FUNCTION_BODY>}

  public static class EventFlags {

    public boolean fill;
    public boolean out;
    public boolean bid;
    public boolean maker;

    EventFlags(boolean fill, boolean out, boolean bid, boolean maker) {
      this.fill = fill;
      this.out = out;
      this.bid = bid;
      this.maker = maker;
    }
  }
}

    final byte[] copy = new byte[8];
    System.arraycopy(bytes, 0, copy, 0, bytes.length);
    boolean[] results = booleanFlagsDecoder(copy, 4);
    return new EventFlags(results[0], results[1], results[2], results[3]);
  
<methods>public void <init>() ,public void <init>(int) ,public boolean[] booleanFlagsDecoder(byte[], int) ,public static long decodeLong(byte[]) ,public int fixBitwiseResult(int) <variables>public int valueMask