private JFieldVar addAdditionalPropertiesField(JDefinedClass jclass, JType propertyType) {
    JClass propertiesMapType = jclass.owner().ref(Map.class);
    propertiesMapType = propertiesMapType.narrow(jclass.owner().ref(String.class), propertyType.boxify());

    JClass propertiesMapImplType = jclass.owner().ref(HashMap.class);
    propertiesMapImplType = propertiesMapImplType.narrow(jclass.owner().ref(String.class), propertyType.boxify());

    JFieldVar field = jclass.field(JMod.PRIVATE, propertiesMapType, "additionalProperties");

    ruleFactory.getAnnotator().additionalPropertiesField(field, jclass, "additionalProperties");

    field.init(JExpr._new(propertiesMapImplType));

    return field;
  }
private JFieldVar addAdditionalPropertiesField(JDefinedClass jclass, JType propertyType)