class Thing {

    public Map<String, P> getPropertiesByExpandedObjectType(String objectType) {
        HashMap<String, P> results = new HashMap<>();
        getProperties().forEach((key, property) -> {
            if (getExpandedObjectType(property.getObjectType()) != null && getExpandedObjectType(property.getObjectType()).equals(objectType)) {
                results.put(key, property);
            }
        });
        return results;
    }

    @SuppressWarnings("squid:S107")  Thing(String objectType,
          Context objectContext,
          String id,
          String title,
          Map<String, String> titles,
          String description,
          Map<String, String> descriptions,
          Map<String, P> properties,
          Map<String, A> actions,
          Map<String, E> events,
          List<Form> forms,
          List<String> security,
          Map<String, SecurityScheme> securityDefinitions,
          String base);
    public  Thing();

}