only call parseComponentMetadata() once in initialiseTableMetadata()