public Collection<String> getServiceNames() {
      return serviceNames;
    }
Ideally for this record PK must be (hostId, keytabPath, principalName), but in some cases hostId can be null.
So surrogate auto-generated PK used, and unique constraint for (hostId, keytabPath, principalName) applied.
This method checks if hostId is null and calls specific method.

@param hostId host id
@param keytabPath keytab path
@param principalName principal name
@return keytab found
ambari-server/src/main/java/org/apache/ambari/server/orm/dao/KerberosKeytabPrincipalDAO.java