public TypeManager(ToscaEnvironment toscaEnvironment) {
    this.toscaEnvironment = toscaEnvironment;
    INamedEntity[] basicTypes = {
      TypeString.instance(),
      TypeBoolean.instance(),
      TypeFloat.instance(),
      TypeInteger.instance(),
      TypeRange.instance(),
      TypeScalarUnit.instance()
    };

    for (INamedEntity basicType : basicTypes) {
      this.basicTypes.put(basicType.name(), (IType) basicType);
    }

    this.nodeTypes.put("tosca.nodes.Root", NodeRoot.instance());
    NamedStruct emptyStruct =
        new NamedStruct("emptyStruct", new TypeStruct(null, "", Collections.emptyMap()));
    emptyStruct.hidden = true;
    this.structTypes.put("emptyStruct", emptyStruct);
  }