public HString head ( ) { return tokens ( ) . stream ( ) . filter ( t -> t . parent ( ) . isEmpty ( ) ) . map ( Cast :: < HString > as ) . findFirst ( ) . orElseGet ( ( ) -> tokens ( ) . stream ( ) . filter ( t -> ! this . overlaps ( t . parent ( ) ) ) . map ( Cast :: < HString > as ) . findFirst ( ) . orElse ( this ) ) ; }
Gets head .