LibraryProperties () { final LibraryType type = getType(); if (type == null) return null; if (myDetectedType != null) { return myDetectedLibraryProperties; } if (myLibraryProperties == null) { myLibraryProperties = type.getKind().createDefaultProperties(); //noinspection unchecked myLibraryProperties.loadState(getOriginalProperties().getState()); } return myLibraryProperties; }