private void generateTypeParameterInfos(BinaryMember parent,char[] signature,HashMap newElements,ArrayList typeParameterHandles){
  if (signature == null)   return;
  char[][] typeParameterSignatures=Signature.getTypeParameters(signature);
  for (int i=0, typeParameterCount=typeParameterSignatures.length; i < typeParameterCount; i++) {
    char[] typeParameterSignature=typeParameterSignatures[i];
    char[] typeParameterName=Signature.getTypeVariable(typeParameterSignature);
    CharOperation.replace(typeParameterSignature,'/','.');
    char[][] typeParameterBoundSignatures=Signature.getTypeParameterBounds(typeParameterSignature);
    int boundLength=typeParameterBoundSignatures.length;
    char[][] typeParameterBounds=new char[boundLength][];
    for (int j=0; j < boundLength; j++) {
      typeParameterBounds[j]=Signature.toCharArray(typeParameterBoundSignatures[j]);
    }
    TypeParameter typeParameter=new TypeParameter(parent,parent.manager,new String(typeParameterName));
    TypeParameterElementInfo info=new TypeParameterElementInfo();
    info.bounds=typeParameterBounds;
    info.boundsSignatures=typeParameterBoundSignatures;
    typeParameterHandles.add(typeParameter);
    while (newElements.containsKey(typeParameter))     typeParameter.occurrenceCount++;
    newElements.put(typeParameter,info);
  }
}

private void generateTypeParameterInfos ( BinaryMember parent , char [ ] signature , HashMap newElements , ArrayList typeParameterHandles ) { if ( signature == null ) return ; char [ ] [ ] typeParameterSignatures = Signature . getTypeParameters ( signature ) ; for ( int i = 0 , typeParameterCount = typeParameterSignatures . length ; i < typeParameterCount ; i ++ ) { char [ ] typeParameterSignature = typeParameterSignatures [ i ] ; char [ ] typeParameterName = Signature . getTypeVariable ( typeParameterSignature ) ; CharOperation . replace ( typeParameterSignature , '/' , '.' ) ; char [ ] [ ] typeParameterBoundSignatures = Signature . getTypeParameterBounds ( typeParameterSignature ) ; int boundLength = typeParameterBoundSignatures . length ; char [ ] [ ] typeParameterBounds = new char [ boundLength ] [ ] ; for ( int j = 0 ; j < boundLength ; j ++ ) { typeParameterBounds [ j ] = Signature . toCharArray ( typeParameterBoundSignatures [ j ] ) ; } TypeParameter typeParameter = new TypeParameter ( parent , parent . manager , new String ( typeParameterName ) ) ; TypeParameterElementInfo info = new TypeParameterElementInfo ( ) ; info . bounds = typeParameterBounds ; info . boundsSignatures = typeParameterBoundSignatures ; typeParameterHandles . add ( typeParameter ) ; while ( newElements . containsKey ( typeParameter ) ) typeParameter . occurrenceCount ++ ; newElements . put ( typeParameter , info ) ; } }
creates the handles and infos for the type parameter of the given binary member . adds new handles to the given vector .
