code: private CharSequence hashContext(final Object context, final Options options)
              throws IOException {
          Set < Entry < String, Object >> propertySet = options
                  .propertySet(context);
          StringBuilder buffer = new StringBuilder();
          Context parent = options.context;
          boolean first = true;
          for (Entry < String, Object > entry : propertySet) {
              Context current = Context.newBuilder(parent, entry.getValue())
                      .combine("@key", entry.getKey())
                      .combine("@first", first ? "first" : "").build();
              buffer.append(options.fn(current));
              current.destroy();
              first = false;
          }
          return buffer.toString();
      }
docs: Iterate over a hash like object.
  
  @param context The context object.
  @param options The helper options.
  @return The string output.
  @throws IOException If something goes wrong.