private static LookupElement getSubLookupElementBuilder(Sub sub, boolean withArguments) {
   String text =
       (withArguments)
           ? sub.toString2(ConfigurationHolder.isHideFirstSelfArgument)
           : sub.getName();
   String containingPackage =
       sub.getPackageObj().getQualifiedName() + "(" + sub.getPackageObj().getFileName() + ")";
   return LookupElementBuilder.create(text)
       .withIcon(PerlIcons.SUBROUTINE)
       .withPresentableText(text)
       .withTypeText(containingPackage, true);
 }
 private static void addCachedSubNoArgs(CompletionResultSet resultSet, Sub sub) {
   if (!subsCacheNoArgs.containsKey(sub)) {
     if (Utils.verbose) {
       Utils.print(
           "cache sub(no args): "
               + sub.getName()
               + " , containingPackage:"
               + sub.getPackageObj().getQualifiedName());
     }
     subsCacheNoArgs.put(sub, getSubLookupElementBuilder(sub, false));
   }
   if (resultSet != null) {
     resultSet.addElement(subsCacheNoArgs.get(sub));
   }
 }