@SuppressWarnings("StringSplitter")
  public static CaffeineSpec parse(String specification) {
    CaffeineSpec spec = new CaffeineSpec(specification);
    for (String option : specification.split(SPLIT_OPTIONS)) {
      spec.parseOption(option.trim());
    }
    return spec;
  }
@Test
  public void parse_exception() {
    assertThrows(IllegalArgumentException.class, () -> CaffeineSpec.parse("="));
    assertThrows(IllegalArgumentException.class, () -> CaffeineSpec.parse("=="));
    assertThrows(IllegalArgumentException.class, () -> CaffeineSpec.parse("key="));
    assertThrows(IllegalArgumentException.class, () -> CaffeineSpec.parse("=value"));
    assertThrows(IllegalArgumentException.class, () -> CaffeineSpec.parse("key=value="));
  }