TextMateSnippet (@NotNull Plist plist, @NotNull String explicitUuid, @NotNull Interner<CharSequence> interner) { String name = plist.getPlistValue(Constants.NAME_KEY, "").getString(); String key = plist.getPlistValue(Constants.TAB_TRIGGER_KEY, "").getString(); String content = plist.getPlistValue(Constants.StringKey.CONTENT.value, "").getString(); String scope = plist.getPlistValue(Constants.SCOPE_KEY, "").getString(); String description = plist.getPlistValue(Constants.DESCRIPTION_KEY, "").getString(); //NON-NLS String uuid = plist.getPlistValue(Constants.UUID_KEY, explicitUuid).getString(); if (!key.isEmpty() && !content.isEmpty()) { if (name.isEmpty()) name = key; return new TextMateSnippet(key, content, interner.intern(scope), name, description, uuid); } return null; }