@Encoding.Expose
  public Optional<ImmutableMap<K, V>> getImmutable() {
    return Optional.ofNullable(map);
  }
@Encoding.Expose
  public Optional<ImmutableMap<K, V>> getImmutable() {
    return Optional.ofNullable(map);
  }
@ Encoding . Expose public Optional < ImmutableMap < K , V > > getImmutable ( ) { return Optional . ofNullable ( map ) ; }
alternatively it can be exposed as Optional of ImmutableMap
alternatively it can be exposed as Optional of ImmutableMap