Move projection and query processing in AbstractGetMetadata to Projection and Query, that logic is useful