public List < HeadedSyntacticCategory > getArgumentTypes ( ) { List < HeadedSyntacticCategory > arguments = Lists . newArrayList ( ) ; HeadedSyntacticCategory cat = this ; while ( ! cat . isAtomic ( ) ) { arguments . add ( cat . getArgumentType ( ) ) ; cat = cat . getReturnType ( ) ; } return arguments ; }
Returns a list of all arguments to this category until an atomic return category is reached . The first element of the returned list is the argument that must be given first etc .