### Question:
FxVolatilitySurfaceYearFractionParameterMetadata implements ParameterMetadata, ImmutableBean, Serializable { public static FxVolatilitySurfaceYearFractionParameterMetadata of( double yearFraction, Strike strike, CurrencyPair currencyPair) { String label = Pair.of(yearFraction, strike.getLabel()).toString(); return new FxVolatilitySurfaceYearFractionParameterMetadata(yearFraction, null, strike, currencyPair, label); } private  FxVolatilitySurfaceYearFractionParameterMetadata(
      double yearFraction,
      Tenor yearFractionTenor,
      Strike strike,
      CurrencyPair currencyPair,
      String label); static FxVolatilitySurfaceYearFractionParameterMetadata of(
      double yearFraction,
      Strike strike,
      CurrencyPair currencyPair); static FxVolatilitySurfaceYearFractionParameterMetadata of(
      double yearFraction,
      Tenor yearFractionTenor,
      Strike strike,
      CurrencyPair currencyPair); static FxVolatilitySurfaceYearFractionParameterMetadata of(
      double yearFraction,
      Strike strike,
      String label,
      CurrencyPair currencyPair); static FxVolatilitySurfaceYearFractionParameterMetadata of(
      double yearFraction,
      Tenor yearFractionTenor,
      Strike strike,
      String label,
      CurrencyPair currencyPair); @Override Pair<Double, Strike> getIdentifier(); static FxVolatilitySurfaceYearFractionParameterMetadata.Meta meta(); @Override FxVolatilitySurfaceYearFractionParameterMetadata.Meta metaBean(); double getYearFraction(); Optional<Tenor> getYearFractionTenor(); Strike getStrike(); CurrencyPair getCurrencyPair(); @Override String getLabel(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void coverage() { FxVolatilitySurfaceYearFractionParameterMetadata test1 = FxVolatilitySurfaceYearFractionParameterMetadata.of(TIME_TO_EXPIRY, STRIKE, CURRENCY_PAIR); coverImmutableBean(test1); FxVolatilitySurfaceYearFractionParameterMetadata test2 = FxVolatilitySurfaceYearFractionParameterMetadata.of(3d, MoneynessStrike.of(1.1d), CurrencyPair.of(EUR, AUD)); coverBeanEquals(test1, test2); }
@Test public void test_serialization() { FxVolatilitySurfaceYearFractionParameterMetadata test = FxVolatilitySurfaceYearFractionParameterMetadata.of(TIME_TO_EXPIRY, STRIKE, CURRENCY_PAIR); assertSerialization(test); }