private ImmutableSet < Type > targetTypes ( Computable . Targetable < ? > query ) { if ( query . of ( ) . isEmpty ( ) ) { throw GraqlQueryException . statisticsAttributeTypesNotSpecified ( ) ; } return query . of ( ) . stream ( ) . map ( t -> { Label label = Label . of ( t ) ; Type type = tx . getSchemaConcept ( label ) ; if ( type == null ) throw GraqlQueryException . labelNotFound ( label ) ; if ( ! type . isAttributeType ( ) ) throw GraqlQueryException . mustBeAttributeType ( type . label ( ) ) ; return type ; } ) . flatMap ( Type :: subs ) . collect ( CommonUtil . toImmutableSet ( ) ) ; }
Helper method to get the types to be included in the query target