added final and checkNotNull to some publish api