boolean mark ( ProtoMember protoMember ) { if ( protoMember == null ) throw new NullPointerException ( "type == null" ) ; if ( identifierSet . excludes ( protoMember ) ) return false ; return members . containsKey ( protoMember . type ( ) ) ? members . put ( protoMember . type ( ) , protoMember ) : types . add ( protoMember . type ( ) ) ; }
Marks a member as transitively reachable by the includes set . Returns true if the mark is new the member will be retained and its own dependencies should be traversed .